ios - Xcode 6 为布局边距设置默认值或禁用它们

标签 ios objective-c xcode autolayout

Xcode 6 的这个新特性有点烦人。大多数时候我不需要设置相对于边距的偏移量,如果我这样做我可能想使用默认值 16 以外的值。有没有办法更改默认值或完全禁用我的项目(或所有项目)的边距我的 Xcode 中的项目)?

最佳答案

您不能“关闭它们”,因为它们内置于 UIView 中。您可以将它们设置为零:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectZero];
label.layoutMargins = UIEdgeInsetsMake(0, 0, 0,0);

但是您必须为每个 View 手动执行此操作。您可以通过在 init 之后设置它们来为您自己的 subview 自动执行此操作,然后使用抛出任何传入值的版本覆盖 setter。然而......一般来说,最好顺其自然,不要与框架作对,所以我真的建议不要试图关闭或忽略它们。

关于ios - Xcode 6 为布局边距设置默认值或禁用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25915487/

相关文章:

arrays - 数组复制在 Swift 中显示 0 1 而不是 true false

ios - UIWebView 内容偏移量

iOS 9 不使用 URL SCHEME 打开 Instagram 应用程序

ios - deleteRowsAtIndexPaths 后忽略 UITableView 的第一次点击

ios - swift - 导航 Controller 删除后退按钮箭头

iphone - Xcode 中多个目标的自动递增内部版本号

ios - 如何正确确保可以重用自定义 UITableViewCell

ios - 将像素亮度值数组转换回UIImage?

objective-c - 在后台更新 UITableView 的数据会中断动画

objective-c - 键盘出现时 View 可以向上推吗?