【问题标题】:Why my UILabel 's AutoLayout not working为什么我的 UILabel 的 AutoLayout 不起作用
【发布时间】:2015-06-26 08:39:43
【问题描述】:
  1. 在情节提要中,我设置了视图控制器尺寸 iPhone3.5 英寸
  2. 使用 UILabel 添加约束

  1. UILabel.text 无法全部显示,所以我将视图控制器尺寸更改为 iPhone 4.7 英寸

  2. 所以我点击 UIlabel 更新框架,自动布局工作,一切正常!这是 iPhone 4.7 英寸

  3. 现在问题来了,当我在 iPhone 模拟器 iPhone 6 中运行时,自动布局不起作用,标签大小仅缩放,宽度不会变长。并且以下三个图像同时限制了宽度和高度32,但是在模拟器iPhone 6 图片尺寸看起来更大,为什么会这样?请帮帮我,很想

  4. 不管是iphone6还是iphone5 iphon6+,这里代码输出320,为什么...

    -(void)viewDidLayoutSubviews{ [super viewDidLayoutSubviews]; NSLog(@"%f",self.view.frame.size.width); }

【问题讨论】:

  • 为了支持 iPhone 6/6+(并避免​​缩放模式),您必须明确提供设备的 LaunchScreen 文件/图像。 See this answer for more info
  • @Alladinian 非常感谢你,它对我有用。

标签: ios ios-autolayout


【解决方案1】:

根据您的问题,如果您不希望显示文本...那么您需要做的就是设置行数 = 0 并将换行模式设置为 自动换行

当您使用标签时,它不需要任何高度限制。

如果您正在使用大小类构建应用程序并使用 launchScreen.xib,那么您的标签将不会缩放,如果您使用的是启动图像,那么您需要所有初始屏幕图像的精确尺寸。

您可以在下面的网址中找到有关启动画面的大小。

https://stackoverflow.com/a/26191308/4101371

我添加了带有约束和标签属性更改的视图图像。

结果将在设备和模拟器中以类似方式显示。

如果您不想在多行中显示标签,那么您可以设置 Auto Shrink(最小字体大小/最小字体比例)

希望它能帮助您解决问题。

【讨论】:

    【解决方案2】:
    1. 您不会忘记为箭头图像设置约束吗?

    使用固定的高度/宽度设置尾随和顶部约束。

    1. 将标签的“Autoshrink”属性设置为“Fixed font size”

    这可以防止标签根据其框架改变字体大小

    1. 为图像重新创建约束 - 它看起来像是固定到超级视图,因此在运行时它会缩放到超级视图的大小

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-21
      • 1970-01-01
      • 2016-03-13
      • 2015-09-25
      • 2018-03-05
      • 2013-04-19
      • 2015-10-17
      • 2016-02-20
      相关资源
      最近更新 更多