Iphone 需要提供视图控制器的帮助吗
我有一个扩展名为Iphone 需要提供视图控制器的帮助吗,iphone,ios,objective-c,uialertview,viewcontroller,Iphone,Ios,Objective C,Uialertview,Viewcontroller,我有一个扩展名为UIButton的类,它在特定情况下显示UIAlertview @interface CellButton : UIButton {} UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"You Lose!" message:@"Play Again?"
UIButton
的类,它在特定情况下显示UIAlertview
@interface CellButton : UIButton {}
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"You Lose!"
message:@"Play Again?"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:@"cancel", nil];
[alert show];
这很好,但当用户按下ok时,我需要显示一个视图控制器。但正如您可能知道的,您不能显示扩展名为ui按钮的视图控制器
因此,我想知道是否可以将下面的代码放在另一个viewcontroller中,并允许它与Cellbutton
类中的UIAlert
一起工作
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0) { // and they clicked OK.
GameController*myNewVC = [[GameController alloc] init];
[self presentModalViewController:myNewVC animated:NO];
}
}
只要您已将警报视图委托设置为要处理演示文稿的视图控制器,此操作就会起作用
我建议将所有功能移动到视图控制器,即从同一视图控制器显示和处理警报视图,这可以通过按钮的事件触发。我认为这会使代码更具可读性,而且按钮了解警报视图并没有真正的意义您不需要在UIButton中执行此操作
单击UIView按钮的目标应该是UIViewController。之后,显示来自视图控制器的警报视图,视图控制器将是UIButton的代理。从他们那里,一切都可以正常工作。您可以声明一个全局变量(在appDelegate中,以及如何声明);
1-当用户单击按钮时设置变量1
2-从其他viewcontroller的操作中获取值
如果值为1,则继续。为按钮子类指定一个协议。您不应该在UIView子类中执行此类操作,而是在控制器中执行。