0

我有一个 UIActionSheet 在表格视图控制器上提供用户选项。我之前已经毫无问题地实现了这一点,但是现在由于某种原因,单击按钮时我的事件处理程序不会触发。在我的头文件中,我实现了正确的委托,如下所示:

@interface GaugeDetailTableViewController : UITableViewController <UIActionSheetDelegate>

在我的实现中,我有以下代码来支持操作表:

-(void)loadPopup{
UIActionSheet *popup = [[UIActionSheet alloc]
                        initWithTitle:@"Options"
                        delegate:nil
                        cancelButtonTitle:@"Cancel"
                        destructiveButtonTitle:nil
                        otherButtonTitles:@"Add to Favorites", @"Gauge Detail Help", @"Main Menu", nil];
popup.actionSheetStyle = UIActionSheetStyleDefault;

[popup showInView:self.view];
}

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
    NSLog(@"%d\n", buttonIndex);
}

操作表正确显示在视图控制器上,但由于某种原因,永远无法到达操作表单击事件处理程序。有什么建议么?谢谢!

4

2 回答 2

4

您需要设置委托:

UIActionSheet *popup = [[UIActionSheet alloc]
                        initWithTitle:@"Options"
                        delegate:self
                        cancelButtonTitle:@"Cancel"
                        destructiveButtonTitle:nil
                        otherButtonTitles:@"Add to Favorites", @"Gauge Detail Help", @"Main Menu", nil];
popup.actionSheetStyle = UIActionSheetStyleDefault;
于 2013-11-13T16:28:39.507 回答
3

看来您忘记设置委托了。您需要实现UIActionSheetDelegate(看起来就像您拥有的那样),然后设置委托!

于 2013-11-13T16:28:20.697 回答