首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode 6自动布局灵活宽度

Xcode 6自动布局灵活宽度
EN

Stack Overflow用户
提问于 2014-10-29 01:17:40
回答 2查看 3.9K关注 0票数 2

我有一个UITextField,它使用Xcode6s自动布局界面,我已经设置了400点的宽度。这在更大的屏幕设备上看起来很好,但在iPhone 5s上,这些框会从包含视图中消失。解决这个问题的正确方法是什么?

有没有办法设置一个约束,如果屏幕比这个大,则使UITextFields宽度为400点,如果不是,就填充容器视图,而不是溢出到视图之外,或者我是否应该使用size类来设置UITextField的宽度,使其与紧凑视图上的父视图具有相同的宽度。

EN

回答 2

Stack Overflow用户

发布于 2014-10-29 01:49:57

不是在UITextField上设置宽度约束,而是在其左侧和右侧添加水平间距约束。这样,UITextField将根据屏幕自动调整大小。

票数 2
EN

Stack Overflow用户

发布于 2014-10-29 01:57:49

就像Kris所说的,设置水平空间约束是开始这个问题的一个很好的方法。

为了回应您关于不想要恒定“边际”的评论,您可以执行以下操作:

在您的类中的Builder.

  • Create类型的接口中设置水平空间约束( matter).

  • Connect NSLayoutConstraints.

  • In IBOutlet)( .h或.m;it‘tNSLayoutConstraints.
  1. InIBOutlet to the各自的视图生命周期方法(viewDidLoad/viewWillAppear:) ),将约束设置为您所需的值。

听起来您主要是想防止字段在iPad上覆盖整个屏幕,所以您可以这样做(假设NSLayoutConstraint的名称为"textFieldLeft“,而UITextField的名称为"textField"):

代码语言:javascript
复制
- (void)viewDidLoad {
    if (UI_USER_INTERFACE_IDIOM == UIUserInterfaceIdiomPad) {
        self.textFieldLeft.constant = 50.0f;
        self.textFieldRight.constant = 50.0f;
        [self.textField layoutIfNeeded];
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26614506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档