在Xcode 4.5中,在哪里设置转换自动化仓库框架的限制
我需要将translatesAutoresizingMaskIntoConstraints
设置为NO
。 默认情况下,它被设置为YES
(帮助大多数从struts和spring转换到新Auto Layout的应用程序)。
Xcode中有什么地方默认可以从YES
更改为NO
?
或者我必须为每个视图手动设置它?
这是一个很好的问题 – 我试图find自己的答案。 可悲的是,看起来没有“快速修复”。 目前,苹果考虑基于约束的布局select – 甚至命名的UIView
类参考的一部分 :
select基于约束的布局
但是,这个select不是全球性的。 我认为这是因为如果你只是把Springs&Struts变成约束,不是所有的东西都看起来不错。 一些用户界面元素破坏,或者你会得到大量的不可满足的约束错误。
我可以想到一个可能的解决scheme – 我没有自己尝试过,但是你可以在UIView
上设置一个类别来设置所有 UIView
对象返回NO
( - (BOOL)translatesAutoresizingMaskIntoConstraints
。 虽然我不知道这会破坏什么,但是它会在全局范围内将“自动修复大括号限制” translatesAutoresizingMaskIntoConstraints
为“ NO
。
如果你想了解更多关于它们的信息,请点击这里 。
我迟到了这个问题,但是在Xcode 5和6中仍然没有提到这个选项,所以这个问题还是有意义的。
实际上,通过在Storyboard(Interface Builder)中添加用户定义的运行时属性 (如以下屏幕截图),我们始终可以为视图/控件/对象的任何属性设置值。
它也适用于translatesAutoresizingMaskIntoConstraints 。 所以这个问题可以解决。
当你必须改变你的子视图的大小或位置。 在设置子视图的框架之前,使用(BOOL)translatesAutoresizingMaskIntoConstraints
方法。
[self.benchmarkButton removeFromSuperview]; [self.benchmarkButton setTranslatesAutoresizingMaskIntoConstraints:YES]; [self.benchmarkButton setFrame:CGRectMake(20, self.benchmarkButton.frame.origin.y+40, 260, 30)]; [self.benchmarksView addSubview:self.benchmarkButton];
这就是你的子视图不会与约束作斗争,因为它是Xcode 4.3及更高版本中的默认(AutoLayout)。 谢谢
根据文档,如果视图是通过Interface Builder添加的,则该属性会自动设置为NO
。
- UITableViewCell四舍五入错误与NSAutoresizingMaskLayoutConstraint,但大小正确设置在故事板和heightForRowAtIndexPath:
- iOS以编程方式为表格视图单元格内容创buildNSLayoutConstraint
- 如何加载取决于iOS版本的多个故事板文件? (5和6)
- iOS – 更新自动布局约束常量在推送另一个视图控制器然后返回后停止工作
- 当对button给予等宽限制时,自动布局设置不正确
- Swift – 为什么ScrollView不是全屏?
- 在iPhone 4中查看宽度问题?
- 启动屏幕XIB:缺less宽度/高度限制(Xcode 6)
- 我想把表格视图精确到导航栏