iPhone 6模拟器上的iOS按钮框架不正确,适用于iPhone 4s

时间:2016-05-03 15:56:52

标签: ios iphone view ios-simulator loadview

在我的视图控制器中,我的视图在loadView方法中初始化:

- (void)loadView
{
    self.view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    [self loadViewController];

    [self.view setBackgroundColor:[UIColor whiteColor]];
}

loadViewController方法创建一个按钮并将其添加到视图中。这是loadViewController方法的一个片段,用于初始化和定位按钮:

graphicalButton = [UIButton buttonWithType:UIButtonTypeCustom];
        graphicalButton.exclusiveTouch = YES;
        [graphicalButton setImage:kGraphicalIconSelected
                         forState:UIControlStateSelected];
        [graphicalButton setImage:kGraphicalIconDeSelected
                         forState:UIControlStateNormal];
        [graphicalButton setFrame:CGRectMake(230, 100, 37, 34)];
        [graphicalButton addTarget:self
                            action:@selector(graphicalOptionAction:)
                  forControlEvents:UIControlEventTouchUpInside];
        [graphicalButton setUserInteractionEnabled:NO];
        NSLog(@"graphical button x %f",graphicalButton.frame.origin.x);
        [self.view addSubview:graphicalButton];

这会在iPhone 4s模拟器上正确显示按钮。 log语句也正确记录原点。

但是,在iPhone 6模拟器上,日志语句始终将origin.x记录为0.如果代码运行,则不会显示该按钮。但是,如果我在此代码段的开头设置了一个断点,然后单步执行每一行,它会正确记录origin.x并且即使在iPhone 6模拟器上也会显示该按钮。

我甚至尝试在loadViewController方法中添加对viewWillAppear的调用,但即使这个按钮也出现同样的问题。关于为什么会发生这种情况以及如何解决这个问题的任何想法?

0 个答案:

没有答案
相关问题