我使用UIAlerView子类创建自定义登录页面。现在,当我点击按钮时,它会打开UIAlertView我想根据按下哪个按钮来更改主视图。
但是因为UIAlerView的所有实现都在另一个类中,但是我改变了视图,但它没有保留它,因为该类变量没有得到它的值。
任何人都可以帮我这个吗?如果需要,我可以发布代码。
谢谢你, 安基塔
答案 0 :(得分:1)
您可以对alertView使用如下所示的自定义init方法,并将_sender存储在全局变量或类变量中。像
id sender; - (id)initWithSender:(id)_sender { self = [super init]; if (self) { sender=_sender; } return self; }
-(void) alertIndexSelected:(NSInterger) index;在rootvc /你的主视图中。{
//change the backgound view based on button selected }
alertViewobj =[[alertView alloc] initWithSender:self];
当在alertview上选择按钮时,请调用以下方法,这将通知您的rootvc按下了哪个警报索引。使用以下alertview委托。
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { [sender alertIndexSelected: buttonIndex]; }
答案 1 :(得分:1)
如果您打算使用委托方法,那么我认为您需要引用其中一些链接。
How to use custom delegates in Objective-C
How do I create delegates in Objective-C?
http://iosdevelopertips.com/objective-c/the-basics-of-protocols-and-delegates.html
我希望这能帮助你理解代表们。