【发布时间】:2011-07-06 23:49:38
【问题描述】:
我希望这很简单。正如您将在我的代码中看到的那样,我只是试图让 UIAlertView 按钮按下以将我弹回根视图。
我没有收到任何编译错误或警告,并且当我运行应用程序时,在 IBAction 中调用了“RedeemCoupon”方法,并且 UIAlertView 会按应有的方式弹出,但似乎不是“doneRedeeming” " 方法被完全调用——我从 NSLog 中看不到任何东西(是的,我知道我将 buttonIndex 设置为 0——一旦我得到这个工作,我会修复它)。所以,基本上是行不通的。我点击“取消”按钮,警报就消失了。
顺便说一句,我不确定这是否重要,但这个“RedeemCouponViewController”视图在堆栈上是第 4 位,它是通过在上一个视图中使用 presentModalViewController 添加的。
如果需要,我愿意接受其他方法 - 欢迎所有建议!
提前致谢!
// RedeemCouponViewController.h
@interface RedeemCouponViewController : UIViewController <UIAlertViewDelegate> {
// RedeemCouponViewController.m
- (IBAction) redeemYes: (UIButton*) sender {
CouponRedeem *redeem = [[CouponDatabase database] couponRedeem:_uniqueId];
[redeem release];
UIAlertView *doneRedeeming = [[UIAlertView alloc]initWithTitle:@"Coupon Redeemed!"
message:@"Thanks for shopping!"
delegate:self
cancelButtonTitle:@"Back to Main Menu"
otherButtonTitles:nil];
[doneRedeeming show];
[doneRedeeming release];
}
-(void) doneRedeeming: (UIAlertView *) doneRedeeming clickedButtonAtIndex: (NSInteger)buttonIndex {
if (buttonIndex = 0) {
NSLog(@"doneRedeemed method called");
[self.navigationController popToRootViewControllerAnimated:YES];
} else {
//do nothing
}
}
【问题讨论】:
标签: iphone delegates uialertview uiactionsheet