码迷,mamicode.com
首页 > 其他好文 > 详细

tableView didSelectRowAtIndexPath方法不执行

时间:2016-07-19 18:34:06      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:

最近做了一个登陆的页面,该页面主要有输入用户名,密码

为了方便用户有多个账号登陆,其实~~也是为了方便我们开发人要,可以避免每次输入一大串手机号。

对于每次登陆成功后,将手机号保存到NSUserDefault中,注意它支持的类型有:NSNumber(NSInteger、float、double),NSString,NSDate,NSArray,NSDictionary,BOOL.

-(void)saveUserMobile:(NSString *)mobile
{
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];

    NSMutableArray *mobileArray = [NSMutableArray arrayWithArray:[userDefaults objectForKey:@"mobileArray"]];
    
    if(![mobileArray containsObject:mobile])
    {
        [mobileArray addObject:mobile];
        
        NSArray *newArray = [[NSArray arrayWithArray:mobileArray] sortedArrayUsingSelector:@selector(compare:)];
        [userDefaults setObject:newArray forKey:@"mobileArray"];
    }
}

使用如下网址中的第三方,UITextField下拉填充类,https://github.com/keyf/AutocompletionTableView

然后遇到一个特别奇怪的问题,无论如何点击UITableView,怎么都没办法响应这个点击的动作

一开始以为是代码的问题,是不是被遮住了,没有找到问题。后来查找了相关资料,问题在于,我在登陆这个页面,使用了 UITapGestureRecognizer,为了让用户点击空白区域,可以隐藏输入键盘,而这个事件,挡住了UITableView 中的 didSelectRowAtIndexPath,解决办法,首先是在登陆界面的文件中,加入<UIGestureRecognizerDelegate>,并重写其中的shouldReceiveTouch方法

    UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hidenKeyboard)];
    gesture.delegate = self;
    gesture.numberOfTapsRequired = 1;
    [self.view addGestureRecognizer:gesture];

#pragma mark - UIGestureRecognizerDelegate
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    // 输出点击的view的类名
    NSLog(@"^ 1 1^^%@", NSStringFromClass([touch.view class]));
    
    // 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件
    if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
        return NO;
    }
    return  YES;
}

tableView didSelectRowAtIndexPath方法不执行

标签:

原文地址:http://www.cnblogs.com/elsonpeng/p/5685568.html

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!