约束不适用于视图和自定义 xib 文件

Posted

技术标签:

【中文标题】约束不适用于视图和自定义 xib 文件【英文标题】:Constraints are not working correctly with view and custom xib-file 【发布时间】:2015-12-22 07:31:36 【问题描述】:

我正在使用带有custom xib 的 Ratreeview。不幸的是,autolayoconstraints 无法正常工作。

1) 我为视图设置了约束:它是一个对边距有约束的简单视图

2) 我创建了一个带有标签和图像的 xib 文件。在两者上,我都设置了边距和它们之间的垂直空间。另外,我将标签的拥抱设置为 230。

3) 这里是输出。不幸的是,约束不能正常工作。为什么? Size classes 正确设置为 for with 和 height 为 any, any。

谢谢,阿诺德

【问题讨论】:

【参考方案1】:

你是如何实例化 tableview 单元格的?看起来您正在实例化一个标准的 tableview 单元格。

您的代码应该看起来更像这样:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
       UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"CUSTOMCELLNAME" forIndexPath:indexPath];
       return cell;

所以可能用“pHeaderCell”替换customcell名称

进一步研究,在您的情况下,您需要在此委托方法中从您的 xib 文件中获取 视图,而不是从 tableview 创建单元格。

【讨论】:

谢谢。错误是我错过了为 RATreeview 设置正确的框架!

以上是关于约束不适用于视图和自定义 xib 文件的主要内容,如果未能解决你的问题,请参考以下文章

使用窗口调整自定义视图的大小

iOS 子视图、SRP 和自定义事件

UIButton setImage 不适用于自定义注释视图

带有 xib 文件和自定义构造函数的自定义 UITableViewCell

UIButton 不适用于自定义 UITableViewCell (Swift)

Vue 路由器、GitHub 页面和自定义域不适用于路由链接