UITableViewCell子类布局混乱在autoLayout禁用故事板
我在Storyboard中创build了一个带有原型单元格的表格视图,在Xcode 5中取消选中“Use Autolayout”。
单元格是UITableViewCell的子类,主要是添加IBOutlets,里面没有代码。 结果是混乱的布局。 我试图改变Autoresizing面具没有运气。 也试过这个 。
如果我然而实现一个空的layoutSubviews
它显示确定。 任何想法是怎么回事? 自动布局仍然启用,尽pipe取消选中它?
编辑:
更多细节…
@interface SettingDefaultTableViewCell : UITableViewCell @property (nonatomic, weak) IBOutlet UILabel *label; @property (nonatomic, weak) IBOutlet UIImageView *imageView; @property (nonatomic, weak) IBOutlet UIView *backgroundView; @end @implementation SettingDefaultTableViewCell - (void)layoutSubviews { // Emtpy implementation to fix weird layout bug } @end
禁用Autolay的故事板:
未使用layoutSubviews
修复的结果时:
编辑2:
- 单元格设置为不自动调整子视图。
- 虽然上面的内容应该足以防止子视图进行自动调整,但所有自动调整掩码也只能设置为灵活的右边界和底部边界。
- 只有>标记被设置为灵活的左边距。 没有灵活的宽度或高度。
单元格正在被未logging的UITableViewCell的layoutSubviews
修改:
- 尽pipe设置了不是没有autoresize子视图,但默认的实现改变了
backgroundView
框架。 - 它也将
imageView
(“>”)移动到左边,尽pipe被configuration为自定义样式单元格。
因此避免执行超级的layoutSubviews
修复它。