2

アラートビューが 2 回表示され、閉じるにはユーザーが 2 回クリックする必要があります。

    - (void) showAlert: (NSString *) message
{
 UIAlertView *av = [[UIAlertView alloc] initWithTitle:@"You chose"
             message: message
            delegate: self
            cancelButtonTitle:@"Cancel"
            otherButtonTitles:@"ok",nil];
 av.tag = SLIDER_ALERT;
 [av show];

}

次に、デリゲート メソッド「alertView: (UIAlertView *) alertView clickedButtonAtIndex: (int) index」でアラート ビューを解放します。

問題は、プログラムで独自のビュー階層を構築したことだと思います。ビューコントローラーの親ビューが 1 つあります。その下に、他の 2 つのビューがあります (parentView -> subview1 と subview2)。[self.view addSubview: av] を呼び出そうとしましたが、うまくいきません。BringToFrontSubView もありません:

どんな助けでも大歓迎です

ペイマン

4

3 に答える 3

0

アラートコードは問題ありません(コメントに記載されているリリースを除く)。

ビューを表示するために必要なのは [av show] だけです。サブビューとして UIAlertViews を追加しません。

于 2010-03-11T14:21:15.493 に答える
0

autorelease を使用すると、Alert View が 2 倍または 3 倍になるようです。また、iOS4 の場合は、自動リリースする必要があります。そうしないと、クラッシュします。

于 2011-01-12T13:04:26.160 に答える
0

0.1 秒の遅延後に呼び出す [self performSelector:@selector(showAlert:) withObject:nil afterDelay:0.10];

これで問題が解決することを願っています。

于 2011-03-15T05:13:12.640 に答える