0

私は会議ベースのアプリケーションに取り組んでいます。ユーザーに着信ウィンドウを表示したいのですが、UIActionSheet を使用してその通知を表示しています。さて、ここでの問題は、呼び出しがサーバーからいつでも来る可能性があることです。その場合、アプリケーションの任意のビューにいる可能性があります.UIActionSheetを使用して着信通知を表示するにはどうすればよいですか? どのデリゲートを設定する必要がありますか?

UIActionSheet *actionSheet = [[UIActionSheet alloc] 
                              initWithTitle:msg_string
                              delegate:(id)??????????????????
                              cancelButtonTitle:@"ACCEPT" 
                              destructiveButtonTitle:@"DECLINE" 
                              otherButtonTitles: nil];

どんな提案でも大歓迎です。ありがとう。

4

2 に答える 2

0

生きていることが保証されているオブジェクト。たとえば、アプリケーションのデリゲートです。また、典型的な iOS アプリケーション構造では、ビュー階層の最上位への参照があります。-アラン

于 2012-09-18T12:55:52.920 に答える
0

以下のように設定する必要があります。

UIActionSheet *actionSheet = [[UIActionSheet alloc] 
                              initWithTitle:msg_string
                              delegate:self
                              cancelButtonTitle:@"ACCEPT" 
                              destructiveButtonTitle:@"DECLINE" 
                              otherButtonTitles: nil];

delegate は UIActionSheetDelegate メソッドを実装するクラスです。

例えばのように

@implementation ViewController

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
  {   // you code         }
@end

clickedButtonAtIndex は viewController クラスにある actionSheet デリゲート メソッドであり、ViewController クラスからも表示される alertView を設定する必要がありますself。または、ほかのクラスから表示される alertView と ViewController クラスで記述されたデリゲート メソッド本体の場合、デリゲートとして ViewController クラスのオブジェクトを設定する必要があります。

于 2012-09-18T13:51:12.393 に答える