我有一个非常奇怪的问题。
我在视图控制器中有一个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
答案 0 :(得分:2)
我完全不知道你的xib是怎样的,假设视图正在你的桌面视图前面的某个地方,试着把你的tableview放在那个隐藏的视图前面。
假设您仅使用[tableView deselectRowAtIndexPath:indexPath animated:YES];
方法取消隐藏选择,那么xib中有一个属性为您提供此功能,通过使用此属性,您可以删除此方法并尝试运行您的代码。请提供您的xib或某些已实现代码的快照,以便更好地说明。
答案 1 :(得分:1)
我认为你不会调用委托方法
plz将此代码包含在viewDidLoad方法
中myTableView.delegate=self;
myTableView.dataSource=self;