0

我正在尝试在横向模式下使用 AFOpenFlowView,但我得到一个黑色条纹,就好像框架没有越过状态栏,或者更好的是,没有越过状态栏处于纵向模式的框架。

这是我正在使用的代码:

CGRect applicationFrame = [[UIScreen mainScreen] bounds];

AFOpenFlowView *af = [[AFOpenFlowView alloc] initWithFrame:CGRectMake(0, 0, applicationFrame.size.height, applicationFrame.size.width)];
[af setBackgroundColor:[UIColor whiteColor]];

NSString *imageName;
for (int i = 0; i < 9; i++) {
    imageName = [[NSString alloc] initWithFormat:@"picture_%d.png", i];
    [af setImage:[UIImage imageNamed:imageName] forIndex:i];
    [imageName release];
}

[af setNumberOfImages:9];
[af setViewDelegate:self];

[self setView:af];
[af release];

这是显示发生了什么的图像: 在此处输入图像描述

4

2 回答 2

0

非常抱歉耽误您的时间。最后我发现了解决方案是:我正在使用应用程序框架初始化窗口,即

window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];

而不是使用正确的代码

window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
于 2011-05-27T08:09:39.110 回答
0

applicationFrame.size.height将为您提供减去状态栏的高度。它没有考虑到您的手机处于横向模式。

只需将尺寸添加为 480 x 300。

您可以尝试以下调试语句:

NSLog(@"Af frame: &@", NSStringFromCGRect(af.frame));
NSLog(@"Application frame: %@",NSStringFromCGRect(applicationFrame));
于 2011-05-24T10:11:05.627 回答