【发布时间】:2017-10-07 12:22:12
【问题描述】:
为了解决这个问题,我需要在我的 UIButtons 上的文本右侧打一个复选标记,并且复选标记必须与按钮右边缘保持固定长度。为了说明,我添加了两张图片,说明它应该如何工作:
如您所见,复选标记完美对齐 - 所以我很高兴!但是当我在 iphone6S PLUS 或 iPad 上运行我的应用程序时,复选标记变得一团糟……
这是另一张图片 - 这是在 iPhone 6S PLUS 上 - 在 iPad 上更糟糕。
我无法在 Interface Builder (AutoLayout) 中对齐复选标记,所以我已经在代码中完成了所有的图像添加。 这是我的代码,用于对按钮应用复选标记:
let btnImage = UIImage(named: "checkmarkWhite")
categoryButtonOne.setImage(btnImage, forState: UIControlState.Selected)
categoryButtonOne.semanticContentAttribute = .ForceRightToLeft
categoryButtonOne.imageEdgeInsets = UIEdgeInsetsMake(0, (categoryButtonOne.frame.width / 2) - (btnImage?.size.width)! - 10, 0, 0)
我的意图是,获取按钮的长度(因为它因设备的屏幕尺寸而异),然后将图像放在所有按钮上的同一位置。但正如你所见,我并没有真正成功。
你们中是否有人知道,为什么勾选标记没有被平均放置?对于所有按钮,我使用完全相同的代码行来放置图像。 它与按钮上的文字有关吗?如果是这样,是否可以让按钮忽略文本,并正确放置图像?
【问题讨论】:
-
你使用了自动布局吗?
-
我正在使用 AutoLayout(对不起,我称之为界面生成器)将文本向左对齐,但我无法将图像放置在与每个按钮的右侧相同的距离上,来自自动布局编号.. :/
-
您是否添加了尾随和底部约束?图像需要这两个约束
-
不是在向 UIButton 添加图像时 - 对吧?.. 您不能像通常在视图中添加图像那样在按钮内添加图像..
-
对不起,是 button 。你分配给按钮了吗?
标签: ios swift xcode uicollectionview uibutton