当我尝试使用 获取主屏幕的边界时[[UIScreen mainScreen] bounds]
,它返回 null。我也试过了[[UIScreen applicationFrame] bounds]
,仍然返回null。
奇怪的是;如果我这样做NSLog(@"%@", [UIScreen mainScreen]);
,它会打印出正确的界限,尽管我不知道如何解析它,如果它甚至可能的话。
以下是相关代码:
-(void)loadView {
[super loadView];
CGRect pagingFrame = [[UIScreen mainScreen] bounds];
NSLog(@"%@", [[UIScreen mainScreen] bounds]); //prints null for me
NSLog(@"Width of original frame = %d", pagingFrame.size.width); //prints out 0
pagingFrame.origin.x -= pagingXOrigin;
pagingFrame.size.width += pagingWidthAdd;
NSLog(@"Width of adjusted frame = %d", pagingFrame.size.width); //still prints out 0
pagingScrollView = [[UIScrollView alloc] initWithFrame:pagingFrame];
pagingScrollView.pagingEnabled = YES;
pagingScrollView.backgroundColor = [UIColor blackColor];
pagingScrollView.contentSize = CGSizeMake(pagingFrame.size.width * [self imageCount], pagingFrame.size.height);
self.view = pagingScrollView;
//Initialize sets
recycled = [[NSMutableSet alloc] init];
visible = [[NSMutableSet alloc] init];
[self tilePages];
}
pagingScrollView
是在头文件中声明的,因为是回收的和可见的。
我正在使用 Xcode 3 和 iOS SDK 4.1。
我确信有一个非常简单的解决方案,但是我仍然是 Objective-C 的新手,因此我无法解决它。
谢谢