【发布时间】:2014-02-18 10:47:38
【问题描述】:
我有一个非常奇怪的问题。
我在视图控制器中有一个UITableView,我可以自定义所有我想要它工作的东西。但是我希望当我点击一行时会出现另一个视图(这并不难),所以我做到了:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"didSelectRowAtIndexPath");
self.myFicheView.hidden=NO;
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
但是当我单击一行时,不会调用该方法。就像它不起作用我尝试了很多东西,我发现了一些奇怪的东西。 当我在该行上短暂单击时没有任何反应,但是当我在 3 秒内单击它时它会起作用,并且当我在该行上滑动手指时也是如此。
有人知道这里有什么问题吗?
@interface MapViewController : UIViewController<UITableViewDelegate,UITableViewDataSource>
{
}
@property (strong, nonatomic) IBOutlet UITableView *myTableView;
这里是我的 tableView 的连接检查器 http://hpics.li/256d01e
【问题讨论】:
-
你添加了self.myTableView.delegate = self; ?
-
@iPatel 在这种情况下不会改变任何东西,财产可以保留它。强、弱或保留。
-
通过设置[tableView setAllowsSelection:YES]确保tableView可以响应选择;
-
如果是代表问题,他就不会说
"when i click during 3 seconds it work" -
self.myFicheView 放置在哪里 - 它是主视图的子视图吗?是在table view前面吗?
标签: ios iphone objective-c uitableview didselectrowatindexpath