的宽度发生奇怪的变化

的宽度发生奇怪的变化

我创建一个继承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中调用此方法,iphone6中视图的框架日志为(0,0,375,0)。

- (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),我没有编写任何代码来更改其框架。怎么运行的?

最佳答案

如果您使用的是Storyboard或Xib,则自动版式或约束条件将自动设置框架。在[self addBottomView];viewWillAppear中调用此方法viewDidAppear手动设置框架
Stackoverflow
Apple Documentation

关于ios - View 的宽度发生奇怪的变化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34409574/

10-11 14:12