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修复它。