我有一个自定义表格视图单元格,带有一个额外的文本字段文本视图。
我添加了自动布局约束。单元格的文本标签布局在纵向模式下似乎很好,但是当旋转时,文本标签移动到单元格的中心(文本视图后面),直到我点击并键入文本视图,标签被调整到了正确的位置。
·H
@interface MTTextViewCell : UITableViewCell
- (id)initWithLabelTextForView:(NSString *)labelTextForView;
@property (nonatomic, strong) UITextView *cellTextView;
@end
的.m
#import "MTTextViewCell.h"
@implementation MTTextViewCell
- (id)initWithLabelTextForView:(NSString *)labelTextForView {
self = [super init];
if(self) {
//1. Setup existing cell elements.
self.textLabel.translatesAutoresizingMaskIntoConstraints = NO;
self.textLabel.text = labelTextForView;
self.selectionStyle = UITableViewCellSelectionStyleNone;
//2. Setup custom cell elements.
_cellTextView = [[UITextView alloc] init];
_cellTextView.translatesAutoresizingMaskIntoConstraints = NO;
_cellTextView.backgroundColor = [UIColor grayColor];
[self.contentView addSubview:_cellTextView];
self.autoresizesSubviews = YES;
//Local variables for the purposes of autolayout language and macros.
UIView *alTextLabel = self.textLabel;
UIView *alCellTextView = _cellTextView;
NSDictionary *alViewDictionary = NSDictionaryOfVariableBindings(alTextLabel, alCellTextView);
//Horizontal layout constraints.
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"|-[alCellTextView]-|"
options:0
metrics:nil
views:alViewDictionary]];
//Vertical layout constraints.
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[alTextLabel(20.0)]-[alCellTextView]-|"
options:NSLayoutFormatAlignAllLeft
metrics:nil
views:alViewDictionary]];
}
return self;
}
这也偶尔发生在使用文本字段的类似单元格中 以及分段控制。 见screencap:
我使用的是Xcode版本6.4,iOS SDK 8.4 任何建议或指示表示赞赏!感谢。
答案 0 :(得分:0)
检查横向模式下高度是否与手机的最大高度相加。它可能会增加到现在的高度