2012-02-13 15 views
0

このアクションが実行されると、それはツールバーサブビューは、サブビュー

- (void)displayviewsAction:(id)sender 
{ 

self.view = [[[UIView alloc] initWithFrame:[[UIScreen mainScreen] bounds]]autorelease]; 

self.view.frame = CGRectMake(0, 0, 320, 480); 

[self.view addSubview:toolbar]; 

UIView *viewController = [[UIView alloc] init]; 

UIView *secondController = [[UIView alloc] init]; 

[self.view insertSubview:viewController atIndex:1]; 

[self.view insertSubview:secondController atIndex:2]; 

NSLog(@"%d", [[self.view subviews] indexOfObject:viewController]); // Is 1 

NSLog(@"%d", [[self.view subviews] indexOfObject:secondController]); // Is 2 

[self.view bringSubviewToFront:viewController]; 

NSLog(@"%d", [[self.view subviews] indexOfObject:viewController]); 

[self.view sendSubviewToBack:viewController]; 

NSLog(@"%d", [[self.view subviews] indexOfObject:viewController]); 

[self.view bringSubviewToFront:secondController]; 

NSLog(@"%d", [[self.view subviews] indexOfObject:secondController]); 

SecondViewController * secondController = [[[SecondViewController alloc] init]autorelease]; 

secondController.view.frame = CGRectMake(0, 0, 320, 480); 

[self.view addSubview:secondController.view]; 

[self.view addSubview:toolbar]; 

} 

と完全に黒のビュー画面に表示、ツールバーのように完全に黒表示されている理由を任意のアイデアを表示するが表示されません。

+0

あなたのコードはメモリ管理の観点から奇妙に思えますが、明らかにARCを使用していません。とにかく、あなたは何が起こっているかを見ることができるように、このビューの内容または少なくとも背景色をどこで定義しますか?フレームを設定することも必須です。実際、このコードは 'ツールバーで完全に黒色'を生成します。 –

+0

私はツールバーを削除しようとしましたが、削除した後は完全に黒い画面が表示されません。 – user1120133

+0

これで両方のビューのフレームが設定されましたが、まだ黒く表示されました。これらのビューの内容は個々のUIViewcontrollersに格納されます – user1120133

答えて

2

ビューのデフォルトの背景色はnilで、これは透明な背景です。

ビューに何も表示されておらず、いずれの背景色も設定していない場合は、ウィンドウまたはデバイスのデフォルトの背景が表示されます。私はドキュメンテーションでそれを見ませんでしたが、私はそれが黒であると仮定しています。

また、UIViewポインターを定義していますが、「コントローラー」という言葉で名前を付けました。これは、UIViewControllerがまったく別のオブジェクトであるため、間違いの原因となる可能性があります。 UIViewControllerにはUIViewが含まれており、それと対話しますが、UIViewではなく、UIViewから継承しません。

+0

私はuiimageとuitextを持っているビューでビューの背景色 – user1120133

関連する問題