UIPopoverController和UITapGestureRecognizer在ViewDidLoad中不起作用

时间:2014-10-28 13:08:43

标签: ios objective-c uipopovercontroller xcode-storyboard

当我在UIPopoverController方法中添加ViewDidLoad时,它会显示一个空的弹出窗口视图。当我添加UITapGestureRecognizer时会发生同样的事情;它没有触发附加的方法。如果我将代码放在我的ViewDidAppear中,它确实有效,但在某些情况下,ViewDidAppear永远不会被调用,具体取决于我的故事板中加载视图的位置。

这是我的代码:

UIViewController* popoverContent = [[UIViewController alloc] init];
UIView *popoverView = [[UIView alloc] init];
popoverView.backgroundColor = [UIColor whiteColor];
popoverContent.view = popoverView;

pickerPopup = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
pickerPopup.delegate = (id)self;

[pickerPopup setPopoverContentSize:CGSizeMake(320, 240) animated:NO];

UITapGestureRecognizer

tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(openPicker:)];
[_form_from addGestureRecognizer:tap];

1 个答案:

答案 0 :(得分:0)

我现在使用ViewDidLoad方法中的延迟解决了这个问题

[self performSelector:@selector(custom_init) withObject:nil afterDelay:0.1];

仍然不明白UITapGestureRecognizer没有触发的原因。如果我将它附加到视图中它会起作用,但如果我将它附加到静态单元格中的文本字段中则不行。