2011-12-23 12 views
1

セルの右端にボタンがあります。ボタンをクリックして1回目の試行でピッカービューが表示されない

今、私はボタンクリックで表示する必要があるピッカービューを持っています。

ITSは次のコードで細かい作業:

-(IBAction)buttonPressed:(id)sender 
{ 
[UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.3]; 
    CGAffineTransform transform = CGAffineTransformMakeTranslation(0, 200); 
    monthPicker.transform = transform; 
    [self.view addSubview:monthPicker]; 
    [UIView commitAnimations]; 
} 

しかし、それが表示されていると何のピッカービューが存在しないときに表示され、私はそれのための解決策を見つけたとき、私はピッカービューの非表示を行うための検索しました... ...上のメソッドに次のコードを追加しました:

monthPicker.hidden = [monthPicker isHidden]?いいえはい;

ボタンをクリックすると、ピッカービューが1回目の試行で表示されませんが、2回目以降の試行でピッカービューが完全に動作しています。

提案がありますか?

答えて

1

@Padavanの回答はうまくいくはずですが、フェイディング効果を「アニメーション」にしたいのであれば、隠し属性は仕事をしません。代わりにUIView.alphaプロパティを使用する必要があります。これは私のサンプルコードです。

- (void) viewDidLoad { 
     [super viewDidLoad]; 

     ///////////////////////////////////////////////// 
     // ... Initialize your month picker here // 
     ///////////////////////////////////////////////// 

     monthPicker.alpha = 0;  
     [self.view addSubview:monthPicker];  
} 

- (void)buttonPressed:(id)sender 
{ 
    [UIView beginAnimations:nil context:nil]; 
    [UIView setAnimationDuration:0.3]; 
    CGAffineTransform transform = CGAffineTransformMakeTranslation(0, 200); 
    monthPicker.transform = transform; 
    monthPicker.alpha = monthPicker.alpha * (-1) + 1; 
    [UIView commitAnimations]; 
} 
+0

大麦さんお返事ありがとうございます、それは完璧に働いた...ありがとうたくさんのことをもう一度... .... メリー事前にXマス:) –

1

最初にmonthPickerは非表示ですか?メソッドが初めて呼び出されたとき。いいえ - それは隠れて、あなたはそれを見ることができません。おそらく、あなたはinitメソッドでmonthPicker.hidden=YESを設定する必要があります。

+0

おかげで、あなたが示唆したように、私は隠されたピッカービューを初期化してきたので....それが現れなければなりませんクリックボタンに答えをたくさん... はいMr.Padavanは、最初にピッカービューが隠されています、プロパティをYESにしてボタンアクションメソッド自体で表示していますが、今度は2回目のクリックで消えません。 - (id)initメソッド私はhidden状態をYESに指定しましたが、 –

+0

「ボタンアクション」でも隠しプロパティをYESに設定する理由はわかりません。 Padavanによると、元のコードにinitメソッドのmonthPicker.hidden = YESを追加するだけです。 – barley

+0

補足として、initメソッドで[self.view addSubview:monthPicker]を呼び出す必要があると思います(私はloadViewやviewDidLoadでも好きです)。それ以外の場合は、ボタンをクリックするたびに同じピッカービューを親ビューに追加しますが、これはまったく必要ありません。 – barley

関連する問題