我的一个视图控制器有问题。每当我尝试加载它时,它都会显示,但它的边界设置错误。它的起源似乎显示在状态栏后面,我似乎无法让它位于栏下方。
以下是我在应用程序窗口中加载 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];
}
无论如何,它似乎都不会采用我在框架中指定的值。
有人可以帮忙吗,我所有其他视图控制器都运行良好。
问候
尝试在视图控制器中使用它:
viewController.edgesForExtendedLayout = UIRectEdgeNone;
我在这里写了一个关于这个的指南:
https://stackoverflow.com/a/19585104/550034
我发现了问题所在。似乎在该特定视图的 XIB 文件中,没有模拟指标状态栏键。
我添加了它,现在它工作正常,这很奇怪,因为我认为这仅适用于模拟器而不是实际设备