Макет подкласса UITableViewCell испорчен в раскадровке с отключенным autoLayout
Я создал табличное представление с ячейками-прототипами в раскадровке с отключенной опцией «Use Autolayout» в Xcode 5.
Ячейки являются подклассами UITableViewCell, в основном для добавления IBOutlets и без кода внутри. В результате получается неправильный макет. Я безуспешно пытался изменить маски авторазмера. Также попробовалэтот.
Если я, однако, реализовать пустойlayoutSubviews
это показывает хорошо. Есть идеи о том, что происходит? Являетсяавтоматическое расположение все еще включено несмотря на снятие флажка?
Редактировать:
Подробнее ...
@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
Раскадровка с отключенным Autolayout:
Результат когдаlayoutSubviews
исправление выше не используется:
Изменить 2:
Ячейка настроена на автоматическое изменение размера подпредставлений.В то время как вышеупомянутого должно быть достаточно, чтобы предотвратить автоматическую настройку подпредставлений, также все маски авторазмера изменяются только на гибкое правое и нижнее поле.Только метка> установлена на гибкое левое поле. Нет гибкой ширины или высоты.