を使用してメイン画面の境界を取得しようとすると[[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はヘッダーファイルで宣言されており、リサイクルされて表示されます。
Xcode3とiOSSDK4.1を使用しています。
これには非常に簡単な解決策があると確信していますが、私はまだObjective-Cの新人であるため、解決できません。
ありがとう