如何以编程方式在表视图页脚中设置UIView的约束?

潘卡·盖卡(Pankaj Gaikar)

我正在创建一个自定义视图,例如

UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0,0,40,0)];

并将其分配给表格视图的页脚,例如

self.tableView.tableFooterView = footerView;

我用框架设置它时确实没有问题,但是我想这样做,我想以编程方式设置它。所以我在做的是

现在我已更改为

[self.tableView.tableFooterView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|[_tableView]|" options:0 metrics:nil views:dict]];

[self.tableView.tableFooterView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_tableView]|" options:0 metrics:nil views:dict]];

但这使我的应用程序崩溃,我们将不胜感激。谢谢。

Jarora

您不需要为表视图的页脚视图相对于表视图设置约束。页脚视图的位置由表视图本身管理(尽管您可以在页脚视图内部添加约束,即页脚视图及其子视图)。您要返回的是页脚视图的高度。

//Put this in your viewDidLoad
UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0,0,320,40)];
self.tableView.tableFooterView = footerView;

先进的:

如果您的页脚视图根据页脚视图中的标签或其他视图动态调整大小。然后,您可以将UIView子类化为页脚视图,并重写其固有的内容大小方法以返回页脚视图的实际高度,然后返回self.tableView.footerView.intrinsicContentSize.height

希望这对您有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当视图大小不同时,如何以编程方式设置约束?

如何以编程方式设置UIView大小以匹配父项而没有约束

如何以编程方式设置视图的高度?

如何以编程方式更新UIView的恒定高度约束?

以编程方式为UIView的子视图设置自动布局约束

如何以编程方式使用CAGradientLayer将渐变设置为UIView(子视图)?

如何以编程方式添加视图和约束到ConstraintLayout?

我应该如何以编程方式更新动态视图的约束?

如何以编程方式在约束布局中移动视图(按钮)?

如何以编程方式创建具有约束的视图

如何以编程方式设置UIPageViewController的subView的约束?

如何以编程方式设置约束加上常量?

如何以编程方式为iOS中的所有设备全屏设置UIView?

如何以编程方式更改从情节提要中添加的约束?

如何以编程方式设置图像视图的方向

如何以编程方式在视图上设置边距?

如何以编程方式将视图设置为正面/背面?

如何以编程方式为视图设置特定的宽度/高度?

如何以编程方式为视图设置背景?

如何以编程方式设置列表视图的选择颜色

如何以编程方式在 AppDelegate 中设置初始视图控制器?

如何以编程方式在顶部的垂直linearlayout中设置一个视图,在底部设置一个视图?

如何以编程方式创建布局约束

如何以编程方式禁用约束?

如何以编程方式访问约束数据?

Swift 4-如何以编程方式使用约束后获取UIView的边界

如何以编程方式在Xamarin中嵌入视图?

如何以编程方式在Windows 8.1中滚动视图?

如何以编程方式向表中添加表行?