Я создаю представление, которое наследует UIView
и добавляет его в superView
. Но когда я проверяю рамку представления, я обнаружил, что она была изменена. Но мой код этого не делает. Я не знаю почему. Давайте посмотрим на Кодекс.изменение ширины вида странно
- (void)addBottomView
{
NSArray *viewArray = [[NSBundle mainBundle] loadNibNamed:@"WYOrderDetailBottomView" owner:nil options:nil];
if (viewArray.count > 0) {
self.bottomContentView = viewArray.firstObject;
}
self.bottomContentView.delegate = self;
self.bottomContentView.frame = CGRectMake(0.0f, 0.0f, SCREENWIDTH, 0.0f);
MLOG(@"%@", NSStringFromCGRect(self.bottomContentView.frame));
self.bottomViewHeightConstraint.constant = 0.0f;
[self updateViewConstraints];
[self.view layoutIfNeeded];
MLOG(@"%@", NSStringFromCGRect(self.bottomContentView.frame));
[self.bottomBackView addSubview:self.bottomContentView];
MLOG(@"%@", NSStringFromCGRect(self.bottomContentView.frame));
}
этот метод вызывается в viewDidLoad
, как это, журнал кадра зрения является (0,0,375,0) в iphone6.
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = @"预约单详情";
self.isNeedRefreshUI = YES;
[self addBottomView];
[self configTableView];
[self addNotificationObserver];
}
Но в другом методе, я проверяю кадр view(self.bottomContentView).
- (void)getOrderDetailInfo
{
MLOG(@"%@", NSStringFromCGRect(self.bottomContentView.frame));
}
кадр меняется на (0, 0, 430, 0), я не пишу код, чтобы изменить это Рамка. Как это работает?
при добавлении подвида в коде, некоторые autolayout ограничений добавляются автоматически. может быть что-то с этим связано. Попробуйте добавить свои собственные ограничения. – ShahiM
Запустили ли вы его в разных разрешениях или только в iphone 6? –
Можете ли вы опубликовать свой метод layoutSubviews? Я думаю, что это создает некоторую проблему – Arun