2011-12-22 4 views
2

を動作しません。 m WiFi上のmbedに接続し、接続していない場合はダイアログを表示し、そうでない場合は再試行する可能性のあるiOSアプリケーションを使用しています。 私はappdelegate.mで接続方法を実装していて、ここからは警告を表示したいと考えています。UIAlertViewは..私は解決策にどの近づいを得ることなく、現在はほぼ丸一日のために、この問題をグーグルでてきたので、私は君たちをお願いしたいと思います:)</p> <p>私は

アラート自体はうまく動作しますが、 clickedButtonAtIndexが呼び出されていません。

私はそうのように、appdelegate.hでUIAlertViewDelegateを追加しました:

alert_NOT = [[UIAlertView alloc] initWithTitle:@"Not connected!" message:message_to_user delegate:self cancelButtonTitle:@"Try again" otherButtonTitles: nil]; 
    [alert_NOT show]; 
    [alert_NOT release] 

とclickedButtonAtIndex:そうのように、

@interface AppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate, UIAlertViewDelegate> 

とalertviewで、自己へのデリゲートを設定しています

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { 
NSLog(@"test"); 

}

のように見えます

警告ビューでボタンが押されたときに、ログに「テスト」という言葉が表示されても、何も起こりません。

更新: は私の「FirstViewController.m」でそれを実装しようとしたが、それは動作します:Sが、私は非常に可能であればappdelegate.mでそれを持ってしたいと思います..

答えて

1
@interface urAppDelegate : NSObject <UIApplicationDelegate,UIAlertViewDelegate> 

あなたの場合

self.alert_NOT = [[UIAlertView alloc] initWithTitle:@"Not connected!" message:message_to_user delegate:self cancelButtonTitle:@"Try again" otherButtonTitles: nil]; 

[alert_NOT show]; 
[alert_NOT release]; 
+0

Hmm、まだ何もありません。UIAlertViewの宣言で代理人がselfに設定されています。 –

+0

それはどちらも助けませんでした..私は私のコードで働いていた警戒システムを私のView Controllerに実装して、自分自身の問題を解決し、私のappdelegate.mから必要なメソッドを要求しました。チャーム。しかし、高速応答のために多くの感謝.. –

0

あなたはこのためalertViewCancelメソッドを使用する必要があります:alert_notはその後、自己とこのようにそれを使用して合成。

- (void)alertViewCancel:(UIAlertView *)alertView 
{ 
    NSLog(@"text"); 
} 
1

私は現在、同様の実装を検討していると私はあなたと持っていたアイデアを共有したいと思います。おそらく、あなたのVCにするために聴くことができ、あなたのデリゲートの条件が満たされている火災、というNSNotificationを使用して( s)、スタックの最上部に警告表示で適切に処理します。

0

は、以下のように定義します。

として
#define appDelegate ((AppDelegate*)[UIApplication sharedApplication].delegate) 

と警告:ここでは

UIAlertView *alert_NOT = [[UIAlertView alloc] initWithTitle:@"Not connected!" message:message_to_user delegate:appDelegate cancelButtonTitle:@"Try again" otherButtonTitles: nil]; 
[alert_NOT show]; 

は定義されたキーワード、すなわち、appDelegateとしてデリゲートを設定します。

これが役に立ちます。

関連する問題

 関連する問題