私は確かにここで完全に愚かな何かをしている、うまくいけば誰かが私に何を言うことができる!要約すると、ボタン(私は分割されたボタンを使用します)がクリックされると、サブビューをプログラム的に切り替えることができます。アニメーション化する必要はありません。理想的には、これらのビューの内容をペン先からロードします。UIViewのサブビューを動的に設定する方法(iPhone)
nibから初期化されたUIViewControllerサブクラスをnavigationControllerにプッシュします。このビューコントローラ& "default"ビューが表示されます。このペン先には次のものが含まれています:
File's Owner [Class=my view controller subclass]
First Responder
View
--Bar Segmented Control
--View //this is the 'subview' whose content I want to toggle
おそらく自分のIBアウトレットで間違いを犯しましたか?
switchableView <--> View
view <--> View
、どこswitchableView
が宣言されています:
IBOutlet UIView *switchableView;
...
@property (nonatomic, retain) UIView *switchableView;
私はこれのUIViewの内容を置き換えで立ち往生していますが、次のように彼らがフックアップされています。まず、ビューが最初に生まれたらデフォルトに設定したいだけです。一度私がそれを持っている、私はすでにセグメント化されたボタンによって生成されたイベントをキャプチャすることができますので、他のものに交換するのは簡単でなければなりません。誰かが私が間違っていることを教えてもらえますか?
- (void)loadView {
NSLog(@"loadView invoked");
[super loadView];
UIView *view = [[UIView alloc] init];
UILabel *label = [[UILabel alloc] init];
label.text = @"Segment1";
[view addSubview:label];
[switchableView addSubview:view]; //this is what I can't work out
[view release];
[label release];
}
(viewDidLoad
のように)、どちらも助けメソッドが呼び出さされていること。私は[switchableView addSubview:view]
が間違っていると思います。私もswitchableView = view
を試しましたが、JavaとPerlの安全性に長い時間をかけて、試してみるかしないかは100%わかりません!
誰かが私を真っ直ぐにしてくれることを願っています。おかげさまで、
ポール
ちょうどFYI: "このメソッドのカスタム実装はsuperを呼び出すべきではありません。 http://developer.apple.com/library/ios/documentation/uikit/reference/UIViewController_Class/Reference/Reference.html#//apple_ref/occ/instm/UIViewController/loadView –