0

我有一个UITableView最初在屏幕外的,当按下按钮时,我将视图的中心点向右移动,将 tableview 移回屏幕上。类似于 Facebook 中的菜单。

//Slide in Side Menu
[UIView beginAnimations:nil context:nil];    
[UIView setAnimationDuration:.75];

self.view.center = CGPointMake((cgSize.width/2)+10, 165);

[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];    

[UIView commitAnimations];

我的问题是,当我的表格视图的左上角是负数(屏幕外)时,didSelectRowAtIndexPath不会触发并且由于某种原因禁用了选择。

menuTableView = [[UITableView alloc] initWithFrame:CGRectMake(-350, 0, 350, cgSize.height-50) 
                                                 style:UITableViewStylePlain];

当我将 -350 更改为 0 时,它可以完美运行,如下所示:

menuTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 350, cgSize.height-50) 
                                                 style:UITableViewStylePlain];

有任何想法吗?

4

1 回答 1

0

表格视图的框架位于视图的标准框架之外,因此输入不会向下转发到表格视图。您需要弄清楚如何保持表格视图的边界包含在其父视图中,同时仍然按照您希望的方式制作动画

于 2012-05-15T18:10:31.093 回答