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

applicationFrame.size.height高さからステータスバーを引いた値が表示されます。お使いの携帯電話が横向きモードであることは考慮されていません。

サイズを480x300として追加するだけです。

次のデバッグステートメントを試すことができますか?

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

ご不便をおかけして申し訳ございません。最後に、私は解決策が何であるかを知りました:私はアプリケーションフレームでウィンドウを初期化していた、すなわち

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

適切なコードを使用する代わりに

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