2

有问题的设置

这是一个UIButton专门的。我知道对齐选项与 中的标签有关UIButton,但是“内容”设置有什么作用?它们似乎对应于类的setEnabled:, setSelected:,setHighlighted:方法UIButton,但是单击 Highlighted 或 Selected 似乎不会改变按钮在界面构建器之外的行为。此外,让按钮始终显示为突出显示或选中的用例是什么?

4

3 回答 3

3

这些方法有几个实际用途。作为@MHUMobileInc。指出,它可以用于像扫雷这样的游戏。它还可以让您将按钮用作一种开关,其中选定的按钮为“ON”,未选定的版本为“OFF”。Apple 似乎希望开发人员回避这一点,并使用 UISwitches 或自定义视图。但是,Apple在其某些应用程序中确实自相矛盾

这些设置设置了 UIButton的初始viewDidLoad状态 - 因此,如果您将其设置为未选中或未突出显示,则在运行应用程序时将不会在屏幕上看到此 Interface Builder 设置。如果您想确保保留这些设置,在代码 ( viewDidLoad) 中而不是在 Interface Builder 中这样说可能更容易。

不要过多地使用这些设置可能更容易。它们可能会导致您(开发人员)、从事该项目的其他程序员(如果有)和用户感到困惑。在工作时使用内置的 UIKit 视图,并在没有最适合这种情况的情况下创建自己的子类。

于 2014-02-21T21:44:41.900 回答
0

上半部分处理视图内内容的对齐方式。例如,如果您有一个较大的 UIButton,其图像小于按钮的边界,则默认情况下,图像将在按钮内垂直和水平居中。但是,如果您希望图像拥抱左/右/上/下,您可以使用这些选项设置对齐方式。

于 2014-02-22T00:22:07.283 回答
0

所有这些控件都与 UIControl 相关,而不是 UIButton,如该屏幕截图中的标题所示。

对齐是指contentHorizontalAlignmentcontentVerticalAlignment。许多控件从sizeThatFits:. 例如,UISwitch对象具有固定大小,而UISlider对象具有固定高度。如果将框架分配给与这些固定尺寸不对应的控件对象,则这些属性将确定应在该框架中的何处绘制控件界面。的实例UIButton确实填充了它们的框架,因此UIButton类以不同的方式解释这些属性以应用于按钮的内容,但属性本身并不特定于UIButton类。

同样selectedhighlightedenabled属性由UIControlnot定义UIButton,并非所有子类都UIControl使用它们。

于 2014-02-22T01:51:29.740 回答