ボタンクリックイベントでのalertviewの却下を防ぐために誰かが私を助けることができますか?
alertViewのサブビューとしてtextviewがあり、textviewの値がnilの場合はそれを閉じたくありません。
ボタンクリックイベントでのalertviewの却下を防ぐために誰かが私を助けることができますか?
alertViewのサブビューとしてtextviewがあり、textviewの値がnilの場合はそれを閉じたくありません。
これは非常に古い質問なので、私は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
します。
これは、UIAlertViewを却下しないというHIGガイドラインに反する可能性があります。
回避策:アプリで何が起こっているのかわかりませんが、これを実現するには、AlertViewを閉じてから、textViewのテキストが設定されているかどうかを確認します。nilに設定されている場合は、アラートビューを再度表示します。
できるかわかりません。
- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView
callBackで利用できる唯一のオプションです。そして、少なくとも1つのアクティブなボタンがまだあります。
その特定の動作が本当に必要な場合は、独自のUIAlertViewを再実装してみてください