这就是我创建警报的方式:
UIAlertView* dialog = [[UIAlertView alloc] init];
dialog.delegate = self;
//some options
aField = [[UITextField alloc]initWithFrame:CGRectMake(20.0,45.0,245.0,25.0)];
[aField setBackgroundColor:[UIColor whiteColor]];
[dialog addSubview:appkeyField];
[dialog show];
[aField release];
然而
- (void)alertView:(UIAlertView *)alertView
clickedButtonAtIndex:(NSInteger)buttonIndex{
NSLog(@"test here");
}
什么都不做。日志中没有任何内容!可能有什么不对?
答案 0 :(得分:3)
当您设置对象的delegate
属性时,您的类必须采用适当的协议。在您的情况下,您使用的是UIAlertView
,因此您需要将UIAlertViewDelegate
协议添加到头文件中:
@interface MyClass : UIViewController <UIAlertViewDelegate>
要添加多个协议,请使用:
@interface MyClass : UIViewController <Protocol1, Protocol2, ...>