ios - 不同 iOS 版本中带有图像的 UIButton 的不同标题来源

标签 ios uibutton uiedgeinsets

  • 我在界面生成器中创建了一个按钮。
  • 为此按钮设置固定宽度 = 120 和高度 = 40 的约束条件。
  • 将图像添加到按钮并设置图像插入(上:10,左:0,下:10,右:100)以将图像移动到左侧。

UIButton insets screenshot

问题: 在不同的 iOS 版本(在我的例子中是:10.3.1、12.1 和 13.1)中,按钮的绘制方式不同。 按钮的标题原点在 iOS 13.1 中为 (x = 29.5, y = 11),在旧版 iOS 中为 (x = 44, y = 11)。

Simulators screenshot

如何使按钮在所有 iOS 版本中看起来都一样?

最佳答案

我知道你想做什么,只是不知道。它会粉碎你尝试这样做,因为你认为它应该有效。而是这样做

  1. 像上面那样制作按钮
  2. 向按钮添加一个 UIImageView,因此 UIimageView 作为 subview 添加到 UIButton
  3. 在 UIImageView 上添加约束,使 ImageView 位于按钮的最左侧

这就是您如何使用 iOS 使应该工作但不工作的东西工作,并且不需要子类化 UIButton 并使用它自己的内部 ImageView 进行一些疯狂的几何数学运算。

关于ios - 不同 iOS 版本中带有图像的 UIButton 的不同标题来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58514376/

相关文章:

ios - 使 UIButton 大于其图像

iphone - 使用 XCode 3.2.5 在 iOS 3.x 上测试

ios - 如何用字符串绘制 2 个带 x 轴的折线图

ios - 消除 UITableViewCell 中 UIButton 上的 imageView 色调

ios - UIButton 图片静态大小

ios - UILabel 上的文本填充

swift - 为什么这个 UIButton 没有舍入 Swift?

ios - 以编程方式调整 safeArea 的 collectionView

android - 在 cocos2dx 中的 "pages"(CCLayer) 之间移动

ios - 如何在使用它的 ViewController 上调整自定义(在单独的文件中创建)UIView 高度?