专门针对UIButton
。我了解对齐选项与UIButton
内的标签有关,但'内容'是什么?设置呢?它们看起来与setEnabled:
类的setSelected:
,setHighlighted:
,UIButton
方法相对应,但点击突出显示或已选中似乎不会更改按钮&# 39;界面构建器之外的行为。另外,按钮总是突出显示或选中的用例是什么?
答案 0 :(得分:3)
这些方法有几种实际用途。作为@MHUMobileInc。指出,它可以用于像扫雷一样的游戏。它还允许您将按钮用作一种开关,其中所选按钮为“ON”且未选择版本为“OFF”。 Apple似乎希望开发人员回避这一点,并使用UISwitches或自定义视图。但是,Apple确实contradict itself in some of its apps。
这些设置设置了UIButton的初始状态 - 因此,如果在viewDidLoad
中未将其设置为未选中或突出显示,则在运行时将不会在屏幕上看到此界面构建器设置该应用程序。如果您想确保保留这些设置,可能更容易在代码(viewDidLoad
)而不是Interface Builder中这么说。
不要过多地使用这些设置可能更容易。它们可能会导致您(开发人员),正在处理该项目的其他程序员(如果有的话)和用户感到困惑。在工作时使用内置的UIKit视图,并在没有最适合该情况的任何内容时创建自己的子类。
答案 1 :(得分:0)
上部解决了视图中内容的对齐问题。例如,如果您有一个大的UIButton,其图像小于按钮的边界,则默认情况下,图像将在按钮内垂直和水平居中。但是,如果您希望图像拥抱左/右/上/下,您可以使用这些选项设置对齐。
答案 2 :(得分:0)
所有这些控件都与UIControl有关,而不是UIButton,如屏幕截图中的标题所示。
对齐是指contentHorizontalAlignment
和contentVerticalAlignment
。许多控件从sizeThatFits:
返回固定宽度或固定高度或两者。例如,UISwitch
对象具有固定大小,而UISlider
对象具有固定高度。如果将框架分配给与这些固定尺寸不对应的控制对象,则这些属性将确定应在该框架中绘制控制界面的位置。 UIButton
的实例会填充其框架,因此UIButton
类会以不同的方式解释这些属性以应用于按钮的内容,但属性本身并不特定于UIButton
类。
同样,selected
,highlighted
和enabled
属性由UIControl
而不是UIButton
定义,并非UIControl
的所有子类都使用它们。