2015-12-04 40 views
0

我想根据设备更改UIText,UIButton文本的大小。我试图通过为不同的设备类型定义不同的尺寸来使用尺寸类。Swift:如何使用大小类来更改UILabel,UIButton文本的大小?

E.g.要为iPhone的定义大小,我做了以下步骤:

  1. 选用大小类wCompact hRegular

  2. 增加了“wCompact hRegular”类通过单击属性检查器底部的+图标。 (就在安装按钮之前)

  3. 通过在属性检查器中为“wCompact hRegular”添加大小来添加所需的大小。

但我仍然无法获得iPhone的定义大小,而是为“wAny hAny”定义的大小也消失了。

有人能告诉我上面的过程出了什么问题,或者给出一些很好的使用大小类的书面教程。

注意:我遵循http://swiftiostutorials.com/using-size-classes-xcode-6/链接,但我无法获得该帖子中提到的输出。

+0

无法使用大小类更改字体大小。你只能尝试使用'adjustsFontSizeToFitWidth'属性。 –

回答

0

尺寸类更适合于适应不同的设备方向,例如。从风景到肖像不适用于不同尺寸的屏幕。在大多数情况下,您可以根据布局限制来调整屏幕尺寸。尝试着重于布局的意图,而不是UIButton应该具有的像素数量作为宽度。例如,UIButton可以左对齐到超视图然后右对齐到UITextField等等。最终,梦想是创建可以适应不同大小屏幕的布局,而无需为不同的屏幕尺寸更改任何内容。

如果你仍然真的想为不同的设备大小设置特定的尺寸,那么在适应性元素上设置约束,并用类似的东西改变常量。我不确定是否有更优雅的方式来实现这一点。

switch UIScreen.mainScreen().bounds.size.width{ 
case kIphone6PlusWidth: 
    buttonWidthConstraint.constant = 120 
case kIphone6Width: 
    buttonWidthConstraint.constant = 100 
default: 
    buttonWidthConstraint.constant = 80 
}