【发布时间】:2015-06-08 14:24:19
【问题描述】:
我之所以写,是因为我的自动布局有问题。
我正在尝试使用自动布局在 InterfaceBuilder 中创建一个简单的视图我想加载代码并作为表的标题输入(而不是作为标题部分)。我简要解释一下有哪些特点。
imageView 必须是方形的,并且必须与屏幕一样宽。
图片下方到包含按钮和标签的视图底部的空间必须高 50 磅。
图像和按钮之间必须是 12 点的固定距离。
图像和标签之间必须是 13 点的固定距离。
所有这些功能都可以通过自动布局获得。我为图像的纵横比(1:1)和距离的各种约束添加了一个约束。好的。
真正的问题是,通过在 iphone 6+ 模拟器(414 点宽度)上启动应用程序,图像(带有标签和按钮)会出现在单元格上方。
启用各种透明胶片我注意到 Image View 的 superView 只会增加宽度。它不会增加它的高度!我该如何解决?
这是代码:
- (void)viewDidLoad{
//...
PhotoDetailsHeaderView *hView = (PhotoDetailsHeaderView *)[[[NSBundle mainBundle] loadNibNamed:@"PhotoDetailsHeaderView" owner:self options:nil] objectAtIndex:0];
hView.delegate = self;
self.tableView.tableHeaderView = hView;
//...
}
这就是我创建 xib 的方式:
模拟器上是这样的,绿框是Uiimageview,黄框(绿框下方)是主视图(或超级视图):
如何解决?
非常感谢大家!
【问题讨论】:
-
无法理解您的问题,请详细说明一下这个完整的视图是您在 tableView 上方的视图,或者这个视图是您的 uitableview 的一部分。
-
我设置为 headerView 的视图是 UIView 的子类: PhotoDetailsHeaderView *hView = (PhotoDetailsHeaderView *)[[[NSBundle mainBundle] loadNibNamed:@"PhotoDetailsHeaderView" owner:self options:nil ] objectAtIndex:0]; hView.delegate = 自我; self.tableView.tableHeaderView = hView;
标签: objective-c uitableview xcode6 autolayout xib