- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在使用自动布局和约束,发现 Xcode 6 中有一个 Constrain to margins
选项,它在 Xcode 5 中不存在,默认情况下处于选中状态。
我创建了一个测试项目,然后我在 ViewController 上添加了一个 UITableView
,并将框架设置为与 View 相同的大小并添加了约束
Xcode 6你可以在这里看到,即使 tableview 与 View 具有相同的框架,Xcode 建议添加 -16 作为约束,而 Xcode 5 会建议添加间距 0。
现在,当您取消选中“Constrain to margin”选项时,它的行为与 Xcode 5 相同,并建议添加 0 作为约束
此外,我发现一旦我使用 Constrain 添加约束以检查边距,我就无法再在 Xcode 5 中打开 Storyboard 文件,因此这绝对是 Xcode 6 中的新功能
希望我能够正确解释我的问题。我想了解“Constrain to margin”的实际作用以及我应该和不应该使用它的时间。如果这是非常简单明了的事情,我深表歉意。
编辑
我在 discussion here 中找到了一些关于布局边距的信息,不知是否与此有关。
最佳答案
我完全不明白为什么人们提示“边距会导致 iOS 8 之前的任何东西彻底崩溃。”
Setting your constraints relative to margin in a xib file or storyboard DOES NOT make your app crash on iOS7, and it DOES NOT make a UI difference on your iOS7 device neither, as long as you don't touch the
UIView.layoutMargins
andUIView.preservesSuperviewLayoutMargins
properties in your code.
布局边距表示 UIView
的interior 周围的填充,布局系统在布置 subview 时可以使用它 - 以确保在 View 和 subview 。在这方面,它非常类似于 CSS 中与 block 关联的填充属性。
默认情况下,UIView
每边的布局边距为 8 点,这在 Interface Builder 中无法更改。但是,通过在代码中设置 UIView.layoutMargins
属性(仅适用于 iOS8),您可以调整这些值。
You can get IB to display the margins with Editor > Canvas > Show Layout Rectangles:
边距可用于帮助布局 View 和 subview 。默认情况下,每个 UIView
都带有边距,但它们只会在您设置与边距相关的约束时影响 View 放置。
在 Interface Builder 中使用边距的唯一方法是在配置约束时选中Relative to margin 选项。这就是您如何将约束指向在布置我的 View 时使用边距而不是边缘。
让我们来看看在 View 及其 subview 之间设置前导约束的四种不同方法。对于每个约束,我们检查描述的第一个关联将是 subview 的前导,第二个将是父 View 的前导。您要密切注意的是每个约束端的Relative to margin选项的选中和取消选中状态,因为它定义了约束是绑定(bind)到 View 的边距还是边缘。
如果您决定使用边距,此新功能 (iOS8) 只会影响 UI 开发。
通过使用边距,您可以通过更改单个属性的值来调整与共享父 View 共享公共(public)关系的多个 subview 的位置。这明显胜过使用固定值设置所有关联的约束,因为如果您需要更新所有间距,而不是一个一个地更改每个值,您可以通过用一行更新父 View 的边距来同时修改所有相关的位置像这样的代码:
self.rootView.layoutMargins = UIEdgeInsetsMake(0, 50, 0, 0);
为了说明这个好处,在下面的例子中,所有 subview 的左边缘都与其父 View 的左边距对齐。因此,更改父 View 的左边距将同时影响所有 subview 。
关于ios - Xcode 6 中 Storyboard 中的 "Constrain to margin"是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32324767/
在 Swift 中,我们可以对序列等通用项编写扩展: extension Sequence where Iterator.Element : ObservableType { } 这将保证扩展仅适用于
刚刚从视频教程中注意到Laravel有这个foreignId-constrained。所以我尝试将我的代码从 method.1 更改为 method.2,表已迁移,但是当我尝试 db:seed 时,默
在“project.project”模型中,我编写了一个函数来验证“开始日期”和“结束日期”,为此我使用了 onchange 函数。该函数正在工作并发出警告,但正在创建记录。实际上,如果有任何错误意味
给定平面中的一组点和一个不完整的 triangulation of the convex hull of the points (只给出了一些边),我正在寻找一种算法来完成三角剖分(初始给定的边应该保
我正在尝试获取constrains.maxHeight。 这是我使用的代码: LayoutBuilder( builder: (BuildContext context, B
我收到一个错误,我不明白为什么。 我的代码: library ieee; use ieee.std_logic_1164.all; use work.Func_Pack.all; use ieee.
我想启动很多任务来在 +-42Mio 记录的数据库上运行。我想以 5000 条记录/时间的批处理运行此程序(结果为 850 个任务)。我还想限制 java 开始为我执行此操作的线程数(最多 16 个)
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 8 年前。 Improv
我收到一个错误,我不明白为什么。 我的代码: library ieee; use ieee.std_logic_1164.all; use work.Func_Pack.all; use ieee.
如果没有“可用数量”,我想禁止生产产品。但是这段代码不起作用。 它仅在我将 @api.constrains 更改为 @api.onchange('move_lines') 时有效,但如果我使用 onc
来自 C++ 背景(模板),我很难理解为什么以下 Swift 代码(泛型)无法编译: func backwards(array: [T]) -> [T] { let reversedColle
在 MSDN 上 - C# 编程指南 Constraints on Type Parameters ,它说: where T : interface_name The typeargument mus
我在 typescript 中有以下通用类 type UserId = number type Primitive = string | number | boolean class ColumnVa
尽管我通常是宏的粉丝,但是我不明白为什么Arduino的制造商选择使用宏而不是实际的函数来表示其一些算术“函数”。仅举几个例子: min() max() constrain() 他们的网站通知人们不要
您如何指定泛型类型参数只能是协议(protocol)(或符合该协议(protocol)的协议(protocol)),而不是符合该协议(protocol)的类? 例如: import Foundatio
这个问题由 C# 和 Salesforce 组成,双方可能都有解决方案。欢迎提出建议! 我正在编写一个通用类来读取 Salesforce 数据。签名看起来像这样: public abstract cl
我正在尝试通过 Interface Builder 使用约束来安排 Storyboard中的控件(“任何宽度,任何高度”的情况)。我在那里添加了 UIView,但是,当我根据给定的约束按下此元素的更新
我正在尝试实现某些目标,但我找不到/决定什么是最好的实现方法,所以我要问以前是否有人这样做过,或者 select2 是否内置了一些东西来实现目标我想要。 事情是这样的:我的 DOM 中有许多选择(多个
我在使用自适应支付的实时 API 凭据时遇到此错误。 阅读 intrwebs 和文档它必须对帐户权限做一些事情,但公平地说我不知道是哪一个。接收器、api 持有者或应用程序 我已经创建了应用程序,
我正在尝试编写一个可以从 Java 使用的 Clojure 库,而用户不知道它是用 Clojure 编写的。为此,我需要我的字段具有正确的类型: 我喜欢我能做到这一点: (deftype Point
我是一名优秀的程序员,十分优秀!