我使用UIAlerView子类创建自定义登录页面。现在当我点击按钮时,它打开了UIAlertView我想基于哪个按钮被按下来改变主视图。UIAlertView的子类被解雇后运行方法
但是由于UIAlerView的所有实现都在另一个类中,尽管我改变了视图,但它并没有保留,因为该类变量没有得到它的值。
任何人都可以帮助我吗?如果需要,我可以发布代码。
谢谢 安基塔
我使用UIAlerView子类创建自定义登录页面。现在当我点击按钮时,它打开了UIAlertView我想基于哪个按钮被按下来改变主视图。UIAlertView的子类被解雇后运行方法
但是由于UIAlerView的所有实现都在另一个类中,尽管我改变了视图,但它并没有保留,因为该类变量没有得到它的值。
任何人都可以帮助我吗?如果需要,我可以发布代码。
谢谢 安基塔
您可以使用自定义的init方法像下面alertView和_sender存储在全局或类变量。像
id sender; - (id)initWithSender:(id)_sender { self = [super init]; if (self) { sender=_sender; } return self; }
从RootVC/bgview初始化alertView如下定义名为 在rootvc
-(void) alertIndexSelected:(NSInterger) index;/方法的主视图。{
//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]; }
如果您打算使用委托方法,那么我认为您需要引用其中一些链接。
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
我希望这将有助于您了解代表很大。
您需要使用委托方法在两个类之间进行通信。 – Robin 2011-02-25 05:17:38
请发布您的代码 – visakh7 2011-02-25 05:18:09
@Robin:你能告诉我如何在两个类之间使用委托方法吗? – Anks 2011-03-15 09:32:11