首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"[[UIScreen mainScreen] bounds]“返回null?

"[[UIScreen mainScreen] bounds]“返回null?
EN

Stack Overflow用户
提问于 2010-10-13 23:23:30
回答 3查看 6.8K关注 0票数 1

当我尝试使用[[UIScreen mainScreen] bounds]获取主屏幕的边界时,它返回null。我也尝试过使用[[UIScreen applicationFrame] bounds],仍然返回null。

奇怪的是,如果我使用NSLog(@"%@", [UIScreen mainScreen]);,它会打印出正确的边界,尽管我不知道如何解析它,如果可能的话。

相关代码如下:

代码语言:javascript
复制
-(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是在头文件中声明的,因为它是可回收和可见的。

我使用的是Xcode3和iOS SDK4.1。

我确信有一个非常简单的解决方案,但是我在Objective-C仍然是一个新手,因此我不能解决它。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-13 23:27:27

bounds是一个struct,而不是一个对象。不能使用%@格式说明符输出它。同样,结构的成员是浮点数,而不是整数。如果你用%d输出它们,你一定会得到错误的结果。

票数 9
EN

Stack Overflow用户

发布于 2010-10-14 01:35:35

使用NSStringFromCGRect方法可以更轻松地快速记录CGRect。有关更多信息,请参阅Apple's documentation,但以下是代码片段:

代码语言:javascript
复制
CGRect screenBounds = [[UIScreen mainScreen] bounds];
NSLog(@"%@", NSStringFromCGRect(screenBounds));
票数 17
EN

Stack Overflow用户

发布于 2010-10-13 23:30:43

为了进一步解释,"%@“通过在对象上调用obj description并使用从该对象返回的字符串来格式化NSObjects。因此,在尝试使用%@格式化字符串之前,请确保您实际处理的是NSObject,而不是其他类型。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3925277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档