在UIPageViewController上未选择UITableView didSelectRowAtIndexPath

时间:2013-03-13 21:32:58

标签: ios objective-c ios6

我有一个UIViewController,它添加了UIPageViewController的视图。 UIPageViewController有一个页面,子视图中添加了UITableView作为子视图。我正在使用iOS 6,当我点击单元格时,没有调用didSelectRowAtIndexPath方法。虽然有一个奇怪的“错误”......如果我中途翻页然后回到我所在的页面(没有完成翻页),我就可以选择单元格了。我认为这与手势识别器有关,但我无法弄明白。我尝试从UIPageViewController的实例化中删除手势识别器,但无法使其工作。

我从UIPageViewController中移除了敲击手势识别器,但仍然存在错误行为......

for (UIGestureRecognizer *recognizer in pageViewController.gestureRecognizers) {
    if ([recognizer isKindOfClass:[UITapGestureRecognizer class]]) {
        recognizer.enabled = NO;
    }
}

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

UIView的子类UITableView。让我们说myUIView

myUIView

中实现UITableView委托

myUIView添加为UIPageControl的子视图。

myUIView中的UITableView委托将触发。

答案 1 :(得分:0)

事实证明这很简单。在我的UIViewController上,我将autoresizingMask设置为FlexibleHeight。由于某种原因将其更改为无,解决了我的问题。

// self.contentView.autoresizingMask = UIViewAutoresizingFlexibleHeight;

// Changed to :

 self.contentView.autoresizingMask = UIViewAutoresizingNone;

如果有人能够了解为什么会出现这种情况,我会很感激。