2013-03-13 41 views
2

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

我删除从UIPageViewController点击手势识别,像这样,但还是错误行为存在...

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

有什么建议?

+0

对于与IDE无关的问题,请勿使用[tag:xcode]标记。谢谢! – Undo 2013-03-14 00:29:34

回答

0

原来是非常简单的东西。在我的UIViewController上,我将autoresizingMask设置为FlexibleHeight。由于某种原因将其更改为无更正了我的问题。

// self.contentView.autoresizingMask = UIViewAutoresizingFlexibleHeight; 

// Changed to : 

self.contentView.autoresizingMask = UIViewAutoresizingNone; 

如果任何人都可以阐明这种情况的原因,我会很感激。

0

小类UIViewUITableView。让我们说myUIView

myUIView中实现UITableView代表。

myUIView作为UIPageControl的子视图。

UITableView代表myUIView会触发。

+0

我终于回到这个任务,并尝试了你的想法。不幸的是,它并没有解决我的问题。我仍然需要做一个“半转”,那么子类的委托方法将起作用。任何其他想法? – MCR 2013-03-28 14:34:26

+0

yup ..如果你想触发UIPageControl内的UITableView委托,只需将UIPageControl引用传递给UIView(在分配时)并将UITableView委托设置为UIPageControl引用对象。而已 :) – 2013-03-28 16:50:24

相关问题