在不同的地方使用相同的UIAlertView

时间:2014-03-05 13:30:02

标签: ios iphone uialertview

我有一个UIAlertView,alertView,它在viewDidLoad方法中初始化,如:

self.alertView = [[UIAlertView alloc] initWithTitle:@"Meddelande"
                                            message:@"Do you want to continue?"
                                           delegate:self
                                  cancelButtonTitle:@"No"
                                  otherButtonTitles:@"Yes", nil];

我也有一些通过按下不同的按钮调用的方法:

- (IBAction)didPressButton1 {

    [self.alertView show];
}

我认为这会显示alertView,但没有任何反应。一种解决方案是调用一个初始化alertView并同时显示它的metod,但我希望这可以工作。

alertView的属性如下所示:

@property (nonatomic, strong) UIAlertView *alertView;

我还在类扩展中添加了这样的委托:

@interface MyViewController () <UIAlertViewDelegate>
@end

我做错了什么?

汉克

3 个答案:

答案 0 :(得分:1)

你没有做坏事。这段代码有效。您的错误在于您如何声明alertView

确保你这样做

@property (nonatomic, retain)UIAlertView *alertView;

您正在将didPressButton1方法与UIButton

相关联

答案 1 :(得分:1)

在界面(.h)文件中

@interface Your_Class:NSObject <UIAlertViewDelegate>

@property (strong, nonatomic) UIALertView *uv;

//在实施文件

@synthesize uv;

//在ViewDidLoad中

self.uv = [[UIAlertView alloc] initWithTitle:@"Meddelande"
                                            message:@"Do you want to continue?"
                                           delegate:self
                                  cancelButtonTitle:@"No"
                                  otherButtonTitles:@"Yes", nil];

//在按钮操作中

- (IBAction)didPressButton1 {

    [self.uv show];
}

答案 2 :(得分:0)

您是否检查过didPressButton1方法是否正在调用? 如果没有,请以正确的方式连接。