UITableViewCell select не работает в объективе c - PullRequest
0 голосов
/ 15 января 2019

Я новичок в Objective C и имею проблему с использованием пользовательского UITableViewCell.

Я использую touchesBegan в моей пользовательской ячейке для просмотра таблиц, как показано ниже:

#import "UserListTableViewCell.h"

@implementation UserListTableViewCell

@synthesize userTableViewCellView, cellIndex;

- (void)awakeFromNib {
    [super awakeFromNib];
    // Initialization code
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}


-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
           ... .. ...
}

-(void) touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
            ... ... ...
}
-(void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
            ... ... ...
}

Тогда после этого я не могу использовать функцию didSelectRowAtIndexPath {}. Как я могу использовать выбор TableView даже при использовании метода touchesBegan.

Пожалуйста, сообщите мне, если вы можете решить эту проблему.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Эта ситуация возникает, потому что метод

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
}

ловит события, но не отправляет их дальше по цепочке респондента. Как упомянуто выше @Daniel, если вы добавите вызов к super следующим образом:

[super touchesBegan:touches withEvent:event];

события будут отправлены далее в метод - (void)didSelectRowAtIndexPath.

0 голосов
/ 15 января 2019

Если didSelectRowAtIndexPath () не работает должным образом после использования touchesBegan, вы можете проверить, есть ли у вас [super touchesBegan] в пользовательском методе ячейки.Вот так:

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
           [super touchesBegan:touches withEvent:event];

           ... .. ...
}

.....

Надеюсь, это поможет вам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...