UIActionSheet 事件未触发

Posted

技术标签:

【中文标题】UIActionSheet 事件未触发【英文标题】:UIActionSheet event not firing 【发布时间】:2013-11-13 16:25:40 【问题描述】:

我有一个 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);

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

【问题讨论】:

【参考方案1】:

你需要设置委托:

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;

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于UIActionSheet 事件未触发的主要内容,如果未能解决你的问题,请参考以下文章

UIActionSheet 响应者未调用 [重复]

尝试从组件向其祖父母触发事件时未触发事件

MediaRecorder 'ondataavailable' 事件未触发

SoundCloud 小部件事件未触发

未触发拖动事件

传单中未触发 oncopy 事件