UIViewContentMode 与 UIControlContentHorizo​​ntalAlignment

Posted

技术标签:

【中文标题】UIViewContentMode 与 UIControlContentHorizo​​ntalAlignment【英文标题】:UIViewContentMode Vs UIControlContentHorizontalAlignment 【发布时间】:2013-02-02 14:43:46 【问题描述】:

我有 UIButton,我想将它的 imageView 对齐到左。 当我尝试: self.cancelButton.imageView.contentMode = UIViewContentModeLeft;

它似乎不起作用,因为 imageView 仍然在中心(UIViewContentModeCenter)

但是当我使用 self.cancelButton.contentHorizo​​ntalAlignment = UIControlContentHorizo​​ntalAlignmentLeft;

它完美地对齐了 imageView。有人可以向我解释为什么这种行为,因为 UIViewContentModeLeft 也应该起作用吗?

【问题讨论】:

【参考方案1】:

任何 UIControl 元素都将使用 contentHorizo​​ntalAlignmentcontentVerticalAlignment 属性来覆盖其子 UIView 和 UIImageView 的 contentMode。默认的 contentHorizo​​ntalAlignment 将覆盖您的 contentMode,直到您明确地将按钮的 contentHorizo​​ntalAlignment 设置为您想要的。

【讨论】:

以上是关于UIViewContentMode 与 UIControlContentHorizo​​ntalAlignment的主要内容,如果未能解决你的问题,请参考以下文章

UIViewContentMode各类型效果

UIImageView:将多个 UIViewContentMode 属性应用于一个 UIImageView?

iOS UIViewContentMode详解

无论 UIViewContentMode 选择如何,部分屏幕视频预览都会失真

viewWillTransitionToSize:与 willTransitionToTraitCollection:

contentMode