2011-01-14 7 views

答えて

4

ここでは、プログラムでUIButtonを作成する方法である:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; //3 
[button setFrame:CGRectMake(320, 0, 100,100)]; 
[button setTitle:@"PressMe!" forState:UIControlStateNormal]; 
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];//2 
[aView addSubview:button]; //1 

と:

- (void)buttonPressed:(UIButton *)sender{ 

    //do something here ;) 
    [sender setTitle:@"PressMe!. Again" forState:UIControlStateNormal]; 


} 

を:あなたがしている場合UIViewControllerの場合、aViewself.view になりますあなたのボタンを含むビューを渡すだけです

:最も簡単なケースはそうですが、どのオブジェクトもターゲットとして設定できます。そのオブジェクトには、@selector(...)で渡すメソッドが必要です。それ以外の場合は、ボタンを押すとアプリがクラッシュします。

+0

ねえ、ありがとう。 :)コードをチェックアウトします! –

+0

大丈夫、あなたのコードのほとんどは意味がありますが、私はaViewの部分で少し混乱しています。 NSObjectのサブクラスであるカスタムコントローラクラスがあります。これには、「ボタンの追加」ボタンに対する応答が含まれています。私は正しい見方をする方法について混乱しています。これを行う最も一般的な方法は何ですか? –

+0

カスタムコントローラーにはビューがありますか?あなたはUIView *ビューのような何かへの参照を持っていますか?それを渡してみてください。私が言ったように、aViewはあなたのボタンを含むビュー(UIViewから継承するもの)になります。 – nacho4d

2

コードでこれを行うためのすべてのステップが正確にはわかりませんが、インターフェイスビルダーを使用して、必要な場所にボタンを作成します。次に、ビューをロードするときに、viewDidLoadメソッドまたはviewDidAppearメソッドでボタンを非表示にします。必要に応じてボタンを表示させます。お役に立てれば。

我々はUIButtons(ないNSButtons)を持っているIOSで
+0

チップありがとうございます。 :)残念ながら、それは私のためには動作しません。私は潜在的に任意の数のボタンをシステムに追加しています。 100%ランタイムを実行する必要があります。 –

関連する問題