ios8 beta 4下无法识别AutoLayout容器相对位置
Posted
技术标签:
【中文标题】ios8 beta 4下无法识别AutoLayout容器相对位置【英文标题】:AutoLayout container relative position not recognised under ios8 beta 4 【发布时间】:2014-07-28 18:29:11 【问题描述】:在我看来,我会像这样初始化一个视图:
UIView *statsView = [[UIView alloc] initWithFrame:CGRectMake(10, 130, 200, 12)];
在这个视图中,我创建了 3 个包含在前一个视图中的自动布局子视图。
for (UIButton* v in [statsView subviews])
v.translatesAutoresizingMaskIntoConstraints = NO;
[statsView addSubview:v];
NSDictionary *views = @@"reposts": v1,
@"likes": v2,
@"comments": v3
;
[statsView addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"H:|[reposts][likes][comments]"
options:NSLayoutFormatAlignAllTop| NSLayoutFormatAlignAllBottom
metrics:0
views:views]];
在 ios7 上,容器的 Y 位置是 130(在 initWithFrame 中定义),但在 ios8 上,Y 位置看起来像“0”。
有什么想法吗?
【问题讨论】:
这里也一样。你能想出什么办法吗? 【参考方案1】:我问了一个关于同样问题的其他问题,Saldorino 给了我一个很好的答案
Xcode6 - Autolayout view in an other autolayout view
问题在于缺少垂直位置约束。
[statsView addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"V:|[comments]"
options:0
metrics:0
views:views]];
【讨论】:
以上是关于ios8 beta 4下无法识别AutoLayout容器相对位置的主要内容,如果未能解决你的问题,请参考以下文章
iOS 8 beta - Today 扩展无法识别嵌入式框架
XCode 7 (Beta 3 & 4) 无法下载和安装 iOS 8.* 模拟器
XCode 5.1 Beta 4 无法识别 iOS 7.1 Beta 4 测试设备
iOS 开发:将我的 iPhone 4 更新到 iOS 4.3 Beta 3 后,我的应用程序显示“Game Center 无法识别此游戏”