3

ボタンクリックイベントでのalertviewの却下を防ぐために誰かが私を助けることができますか?

alertViewのサブビューとしてtextviewがあり、textviewの値がnilの場合はそれを閉じたくありません。

4

3 に答える 3

4

これは非常に古い質問なので、私は1つの解決策を手に入れましたが、近い将来、他の開発者が必要な場合は投稿します。

.hファイルにプロトコルメソッドを実装する

UIAlertViewのボタンタップに応答するために、– alertView:clickedButtonAtIndex:プロトコルメソッドを次のように使用します。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{

}
//Now below code will check if uitextfield value.
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
{
    NSString *inputText = [[alertView textFieldAtIndex:0] text];
    if( [inputText length] > 0)
    {
       //text field value is greater than zero ,then Done button will appear as blue,or else it will be blurred
        return YES;
    }
    else
    {
        return NO;
    }
}

あるいは、はるかに高速なアプローチがあります。

return [inputText length] ? YES : NO;

と同じことをif statementします。

于 2014-05-29T07:11:51.227 に答える
3

これは、UIAlertViewを却下しないというHIGガイドラインに反する可能性があります。

回避策:アプリで何が起こっているのかわかりませんが、これを実現するには、AlertViewを閉じてから、textViewのテキストが設定されているかどうかを確認します。nilに設定されている場合は、アラートビューを再度表示します。

于 2012-10-09T14:58:16.420 に答える
1

できるかわかりません。

- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView

callBackで利用できる唯一のオプションです。そして、少なくとも1つのアクティブなボタンがまだあります。

その特定の動作が本当に必要な場合は、独自のUIAlertViewを再実装してみてください

于 2012-10-09T15:07:02.423 に答える