0

我的一个视图控制器有问题。每当我尝试加载它时,它都会显示,但它的边界设置错误。它的原点似乎显示在状态栏的后面,我似乎无法将其置于状态栏下方。

这是我在我的应用程序窗口中加载 uiview 的方式:

- (void)loadListOfDevicesViewController:(NSString*)greeting {   
    for (int i = 0; i < [[window subviews] count]; i++) {
        UIView * subView = [[window subviews] objectAtIndex:i];
        [subView removeFromSuperview];
    }

    forceThumbnailRefresh = YES;
    listOfDevicesViewController = [[ListOfDevicesViewController alloc] initWithNibName:@"ListOfDevicesViewController" bundle:nil];
    listOfDevicesViewController.delegate = self;
    listOfDevicesViewController.bIsForceRefresh = NO;
    listOfDevicesViewController.greetingMessage = greeting;
    [listOfDevicesViewController.view setFrame:CGRectMake(0, 20, 320.0f, 460.0f)]; //does not seem to work
    [window addSubview:listOfDevicesViewController.view];
}

无论如何,它似乎都没有采用我在框架中指定的值。

有人可以帮忙吗,我所有的其他视图控制器都工作得很好。

问候

4

2 回答 2

1

尝试在您的视图控制器中使用它:

viewController.edgesForExtendedLayout = UIRectEdgeNone;

我在这里写了一个指南:

https://stackoverflow.com/a/19585104/550034

于 2013-11-13T09:20:30.640 回答
0

我发现了问题。在该特定视图的 XIB 文件中,似乎没有模拟指标状态栏键。

我添加了它,现在它工作正常,这很奇怪,因为我认为这仅适用于模拟器而不是实际设备

于 2013-11-14T12:35:45.047 回答