InterfaceBuilderとloadviewの混在

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
まる

InterfaceBuilderとloadviewの混在

#1

投稿記事 by まる » 15年前

言語:objective-c

iphoneアプリの制作をしているのですが、
InterfaceBuilderでImageViewや、ボタン配置し、
ViewController.mのloadviewで背景色の設定するように
役割分担させてつくりたいとき、
loadviewの背景色で画面が全部うめられて
IBで作成したボタンなどがみえなくなります。

これを回避するにはどのようにすればいいでしょうか?
loadviewの背景色設定は一般的なコードです。

- (void)loadView
{

CGRect frame = [[UIScreen mainScreen] bounds];

//親Viewに配置された時の位置と大きさ情報付きでViewControllerの持つViewを初期化
self.view = [[[UIView alloc] initWithFrame:frame] autorelease];

self.view.backgroundColor = [UIColor blueColo[/url];
}

Justy

Re:InterfaceBuilderとloadviewの混在

#2

投稿記事 by Justy » 15年前

>ViewController.mのloadviewで背景色の設定するように
>役割分担させてつくりたいとき、
 loadviewは nibを使わない時に使うものですので、loadviewは全て削除し viewDidLoadの方を
使って下さい。

まる

Re:InterfaceBuilderとloadviewの混在

#3

投稿記事 by まる » 15年前

viewDidLoadに同じコードを書いてもIBで作成したボタン等かくれちゃいますね。

なにがわるいんだろ。。。

Justy

Re:InterfaceBuilderとloadviewの混在

#4

投稿記事 by Justy » 15年前

 self.viewを上書きしてしまっているのが原因なんじゃないかなと。
[color=#d0d0ff" face="monospace]
[super viewDidLoad];
self.view.backgroundColor = [UIColor blueColo[/url];
[/color]

だけ書いたらどうなりますか?

まる

Re:InterfaceBuilderとloadviewの混在

#5

投稿記事 by まる » 15年前

Justyさんのご指摘通り修正するといけました。

ありがとうございました!

閉鎖

“C言語何でも質問掲示板” へ戻る