【问题标题】:Autolayout UIButton and UILabel font size according to specific type of the iPhone size[NOT PROGRAMMATICALLY]根据特定类型的 iPhone 大小自动布局 UIButton 和 UILabel 字体大小[非编程]
【发布时间】:2016-11-28 02:07:51
【问题描述】:

我想根据 iPhone 大小(4、4.7 或 5.5 英寸)设置不同的字体大小Here is one of the solution

但我想问有没有什么方法可以通过界面生成器自动调整 UIButton / UILabel 字体大小而无需代码?例如,它如何与 UIsmth 大小的持有比率宽度 - 高度一起使用? 如果没有办法按照我的描述进行 - 设置字体大小的最佳做法是什么。我应该将它作为每个 UI 元素的单独文件执行,还是最好在适当的 UI elem 子类中执行? 具体问题 - 我正在为 iPhone 肖像写一个网络应用程序

【问题讨论】:

  • 不清楚链接中的代码是指问题还是答案。也许复制你在这里使用的代码。
  • 当您提出多个问题时,您通常会得到多个答案,因此很难“挑选”您接受的答案。请一次发布一个问题。
  • 对于这种情况,通过界面生成器来施加这种级别的控制并不容易。您正在考虑为每种设备类型创建一个故事板,这不必要地复杂,或者在标签上定义 Autoshrink 字体大小
  • @zhon 目前,我只使用故事板来调整 UI 元素的大小。我能够根据不同的屏幕尺寸(4、4.7、5.5 英寸)按比例缩放任何 UI 元素。但我无法更改 UI 元素的字体大小,例如 UIButton、UILabel 等。在我标记为“这是解决方案之一”的答案中,退出了我的问题的解决方案,但这样我应该编写每种字体尺寸到每个屏幕尺寸。我问有没有办法自动做到这一点 - 按比例
  • 例如,按钮高度为 100,文本在 4 英寸上占用 50 高度。在 4.7 上,按钮的高度将是 120,好吧,现在具有其他大小的相同文本将采用 60 高度。我可以通过某种约束机制让它发生吗?

标签: iphone swift user-interface autolayout font-size


【解决方案1】:

是的,您可以使用 sizeClass。

选择你想改变sizeFont的viewController,然后

这里:

你选择你想要的sizeScreen (它会在你看到“any/any”的地方显示为蓝色)然后选择textField,转到

属性检查器

然后点击字体部分的加号按钮选择一个新的大小:

你会看到这样的:

选择并更改您想要的尺寸,它会为您工作

【讨论】:

  • 在更一般的情况下,这将适用,但是上面列出的所有三种设备类型都属于相同的纵向尺寸类别,因此对于这个问题它没有歧义。
  • 感谢您的回答,但不是这种情况,我想从身份检查员那里选择 iPhone 4 英寸、iPhone 4.7 和 iPhone 5.5 纵向
猜你喜欢
  • 2015-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
  • 2012-01-02
  • 2014-05-04
  • 1970-01-01
相关资源
最近更新 更多