我解释了创建约束的两种不同方法,它们以类似的方式工作。这两者有什么区别吗?
1方法:第一种方法是从故事板中的UI对象进行cntrl +拖动。我创建了几个屏幕截图以便更好地理解:
它说 - superview领先保证金。从UI对象(它是一个标签)到屏幕的左边缘有一条线,但它的线不是"触摸"屏幕左边缘,截断:
2方法:第二种方法只是使用XCode工具栏编辑器 - > Pin->领先空间到Superview:
很明显,我的问题可以应用于Trailing Space to Container Margin,top和buttom,因为操作类似。
这两个约束之间有什么区别,通过上面描述的方法创建?是否有实际差异,或只是不同的名称?
答案 0 :(得分:4)
唯一的区别是当您使用第一种方法时,它默认设置相对于边距的约束。在iOS 8中引入了边距,并提供符合Apple人机界面指南的边距。如果您的目标是iOS 7或更早版本,请不要使用边距。当您使用第一种方法时,在出现约束弹出窗口时按住Option
,然后选项将删除Margin
位,并且将完全像您的第二种方法创建的约束。
如果您已经创建了与边距相关的约束,并且您希望它们不是,或者反之亦然,则可以通过在Interface Builder中选择约束并编辑其属性来编辑约束的属性。