【问题标题】:Swift Auto layout how to work with buttonsSwift Auto 布局如何使用按钮
【发布时间】:2016-09-11 02:48:12
【问题描述】:

我大部分时间都想出了自动布局,以便让我的故事板在 iPhone 和 iPad 上都能很好地加载。

我遇到的唯一问题是按钮和标签文本。

它们的尺寸似乎与屏幕尺寸不符。 我已经根据乘法因子调整了它们的宽度和高度。

我怎么能用文字大小做到这一点?

我试过把它放在 viewDidLoad 中

 signup_btn.titleLabel!.adjustsFontSizeToFitWidth = true
    signup_btn.titleLabel!.numberOfLines = 1
    text_lbl.adjustsFontSizeToFitWidth = true
    text_lbl.numberOfLines = 1
    login_btn.titleLabel!.adjustsFontSizeToFitWidth = true
    login_btn.titleLabel!.numberOfLines = 1

但这并没有解决任何问题。

【问题讨论】:

  • auto 标签特定于 C++,不适用于此处。我已经删除了标签,以后请在创建或编辑帖子时使用适当的标签。

标签: iphone swift layout


【解决方案1】:

布局用户界面有三种主要方法。

您可以以编程方式布置用户界面。

您可以使用自动调整掩码来自动响应外部变化

或者您可以使用自动布局。

传统上,应用程序通过以编程方式为视图层次结构中的每个视图设置框架来布局其用户界面。框架在父视图的坐标系中定义了视图的原点、高度和宽度。

要布置用户界面,您必须计算视图层次结构中每个视图的大小和位置。然后,如果发生更改,您必须为所有受影响的视图重新计算框架。

其他选项是 AutoResizingMask,但您不能将其用于复杂的用户界面。

自动布局代表了一种全新的范式。与其考虑视图的框架,不如考虑它的关系。

我强烈建议您阅读以下文档 - https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/#//apple_ref/doc/uid/TP40010853-CH7-SW1

This 是没有自动布局的按钮示例。

此外,如果按钮和标签位置问题仅发生在少数屏幕上,则为这些没有自动布局的屏幕制作不同的故事板,并为具有自动布局的不同故事板制作不同的故事板。

希望这会对你有所帮助。

【讨论】:

  • 我的意思是我理解自动布局唯一的问题是让按钮文本随着按钮大小的变化而调整。按钮大小工作正常,但无论我尝试什么,文本都停滞不前。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-28
  • 1970-01-01
  • 2012-07-14
  • 2020-11-08
  • 2019-05-02
  • 1970-01-01
相关资源
最近更新 更多