Auto Layout Guide---自动布局指南(二)
2013-10-27 18:10
302 查看
原文链接:https://developer.apple.com/library/ios/documentation/……/WorkingwithConstraints.html
Working with Constraints in Interface Builder
添加,编辑或删除约束最简单的方法是使用可视化布局工具Interface Builder。创建约束很简单:拖动两个view之间来回拖动控制,或一次添加多个约束,您只需使用各种弹出式窗口。
添加约束(Adding Constraints)
当你拖出对象库中的一个元素并把它Interface Builder的画布上,它开始不受约束,可以很容易地通过拖动周围的元素原型界面。如果你建立并运行,而不添加任何约束元素,你会发现,界面生成器修复元素的宽度和高度,和销(pins)定位在父视图的左上角;这意味着调整窗口的大小并不移动或调整元素的大小。为了使你的界面正确的在大小或方向的变化上作出反应,你需要开始添加约束。重要提示:虽然Xcode中不会产生警告或错误,当你建立一个用户界面,不应该在没有适当的约束的状态下运送您的应用程序!
有几种方法可以添加约束,根据你想要的精度水平和您要添加的时间的数量的限制。
添加约束与控制拖动(Adding Constraints with Control-Drag)
您可以控制拖动,从自身或其容器,或到另一个元素。根据你拖动的对象和目标,自动布局会适当限制可能性的约束。例如,如果你水平向右拖动到其容器元素,你可以选择pin元素的尾部空间或让它在容器中垂直居中( you have the options to pin the element’s trailing space or to center it vertically
in the container)。
[b]提示:要同时从控制拖拽菜单中选择多个约束,可以按住Command键或Shift键。[/b]
通过对齐和引脚菜单添加约束(Adding Constraints with Align and Pin Menus)
您也可以使用自动布局菜单( [b]Auto
Layout menu)添加约束[/b],它驻留在Interface Builder的面板上。
除了对齐或间距增加约束,你也可以使用这个菜单来解决布局问题,和确定调整大小行为的约束。
对齐([b]Align)[/b]创建对齐约束,如围居中容器中的视图,或两种视图的左边缘对齐。
PIN 创建间距(spacing )的约束,如定义视图的高度,或指定与另一个视图的水平距离。
问题(Issues)通过在建议的基础上添加或复位约束解决布局问题(见“Resolving
Auto Layout Issues”)。
调整大小([b]Resizing)[/b]指定如何调整影响制约。
如果你只有一个单一的元素,那么需要多个要素的约束选项会被禁用。
从Align或PIN菜单添加一个约束
选择适当的约束旁边的复选框。
要选择“Spacing to nearest neighbor”的约束,选择合适的侧面的元素对应的红色约束。
如果你需要创建一个不相邻的视图的约束,单击黑色的三角形,从下拉选项中选择一个。
输入相应的恒定值。
按下一个按钮来创建约束。
“Add Constraints button”添加新的约束到选定的元素。
“Add and Update Frames button”添加新的约束到选定的元素,并移动你的界面元素,以尽可能地满足每一个约束。
注: 你每次点击两个按钮中的一个都会增加新的约束条件。你并没有编辑现有的约束。编辑现有约束的信息,请参阅“Editing
Constraints.”
添加丢失或建议的约束(Adding Missing or Suggested Constraints)
如果你需要一个起点为你的布局,或者如果你需要迅速做出很大的变化,请使用“ [b]Issues
menu“[/b]添加约束,
如果您需要添加一个大的约束集来形容你的界面布局,而你不想一个个添加约束,选择 Issues > Add Missing Constraints,添加nonambiguous组约束。此命令依据你选择的内容推断要添加的约束。
如果你需要恢复到一组没有错误的约束条件,或者你只是想重新开始,选择Issues > Reset to Suggested Constraints,删除错误的约束和添加nonambiguous的约束集。这相当于清除约束,然后添加缺少的约束。
编辑约束(Editing Constraints)
您可以更改约束,关系和约束的优先级。您可以编辑这些属性,可以通过双击在画布上编辑的价值约束,或通过选择的约束和使用“属性”检查器。但是,你不能改变约束的类型(例如,你不能改变一个宽度约束到一个高度约束)。
删除约束(Deleting Constraints)
你可以随时删除任何约束,通过在画布上或在大纲视图中选择,并按下Delete键。Copyright © 2013 Apple Inc. All Rights Reserved.Terms of Use|Privacy
Policy| Updated: 2013-09-18
TheLittleBoy翻译,转载请注明出处,谢谢!
相关文章推荐
- Auto Layout Guide---自动布局指南(三)
- IOS 自动布局指南1 介绍(auto layout guide)
- Auto Layout Guide---自动布局指南(一)
- IOS 自动布局指南1 介绍(auto layout guide)
- iOS 8 Auto Layout界面自动布局系列5-自身内容尺寸约束、修改约束、布局动画
- 使用Auto Layout中的VFL(Visual format language)--代码实现自动布局
- 自动布局(autolayout)环境下图片编辑器的实现
- Xcode6中自动布局autolayout和sizeclass的使用
- 关于自动布局(Autolayout)
- iOS疯狂详解之自动布局(autolayout)下图片编辑器的实现
- iOS 6编程-创建自动布局(Auto Layout)简单应用
- iOS AutoLayout自动布局中级开发教程(5)-修改约束的值,延迟加载
- AutoLayout和Masonry两种方式实现自动布局的内容包裹和视图均分
- Xcode7中自动布局AutoLayout和SizeClass的使用
- 使用Auto Layout中的VFL(Visual format language)--代码实现自动布局
- Xcode6中如何对scrollview进行自动布局(autolayout)
- 自动布局autolayout与sizeclass
- xcode6中自动布局autolayout和sizeclass的使用
- autolayout自动布局详解
- Xcode6中自动布局autolayout和sizeclass的使用