1

我创建了一个带有 Xib 接口的 UIViewController 子类。我想将视图的宽度强制设置为 257px。我在 FREEFORM 中更改 IB 中的大小,并将大小调整为 257px 宽度。

我把这个日志放在 viewcontrollerclass

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSLog(@"width: %f",self.view.frame.size.width);
}

- (void)viewDidLayoutSubviews{
    [super viewDidLayoutSubviews];
    NSLog(@"width_changed: %f",self.view.frame.size.width);
}

日志是

2013-10-09 14:14:18.966 TestApp[2008:a0b] width: 258.000000
2013-10-09 14:14:18.968 TestApp[2008:a0b] width_changed: 320.000000

为什么宽度会改变?如何解决?AutoResizingMask 被禁用。

谢谢!

4

1 回答 1

0

viewDidLoad用你的宽度强制你的视图框架:

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.view.frame = CGRectMake(0, 0, 257, CGRectGetHeight(self.view.frame));
}
于 2013-10-09T12:46:09.650 回答