【问题标题】:EXC_BAD_ACCESS when trying to get iPhone screen dimensions尝试获取 iPhone 屏幕尺寸时的 EXC_BAD_ACCESS
【发布时间】:2011-10-10 09:36:53
【问题描述】:

当界面方向发生变化时,我正在尝试根据屏幕尺寸调整某些元素的大小。我在不同的地方(包括这里的一些答案)读到,获取屏幕边界的方法是使用 [[UIScreen] mainScreen] bounds]。所以我添加了这段代码来看看它的行为:

- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    NSLog(@"view dimensions: (%@, %@)", [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height);
}

但是在运行它时,只要我旋转屏幕,我就会收到一条 EXC_BAD_ACCESS 消息。 willRotateToInterfaceOrientation 函数的范围是否存在不允许我调用屏幕边界的内容?如果是这样,我会怎么做?

【问题讨论】:

  • EXC_BAD_ACCESS 表示您在某处提供了错误的指针。

标签: iphone objective-c screen-orientation


【解决方案1】:

%@ 格式说明符期望格式参数是objective-c 对象,而您提供的是普通浮点数。要打印浮点数,请使用 %f 说明符:

NSLog(@"view dimensions: (%f, %f)", [[UIScreen mainScreen] bounds].size.width, [[UIScreen mainScreen] bounds].size.height);

【讨论】:

    猜你喜欢
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    • 2015-01-31
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多