2016-02-12 2 views
0

Я пытаюсь создать проект, похожий на Instagram. Когда вы выберете пользователя, он приведет вас к пользователю VC. Когда вы выберете комментарий, он даст вам комментарий VC.Как отличить, какой элемент был выбран в UITableViewCell

У меня есть пользовательский UITableViewCell, который имеет много элементов в нем, как и Instagram, как упоминалось выше. То, что я пытаюсь достичь, - это когда пользователь выбирает какой-либо элемент в UITableViewCell, независимо от того, является ли это ярлыком или изображением, он будет переходить к другому VC для получения подробной информации.

Я имею в виду это post для его достижения, но моя забота заключается в том, как я узнаю, что было выбрано? Потому что у меня есть неизвестное повторяющееся количество строк.

Мне действительно не нужны коды, поскольку они, скорее всего, будут найдены с тщательным поиском, хотя это было бы более полезно. Но мне просто нужна структура, потому что я полностью потерял то, как я должен это делать.

Я делаю это в программировании Swift.

Спасибо за помощь.

+0

Какой элемент в строке? Или был элемент в строке 1 или строке 2? –

+0

Мне нужно знать, какой элемент был выбран, в какой строке – jo3birdtalk

ответ

0

Вы можете вставить UIButton s в UITableViewCell s. Эти UIButton s не будут конфликтовать с жесткой меткой UITableViewCell. Я бы подкласса UIButton, чтобы вы могли передать эту строку и данные элемента на эту кнопку при создании

+0

Я мог бы заменить мои ярлыки кнопками. Но как насчет 'UIImage', который у меня есть? Я пытаюсь избежать использования кнопок для добавления к нему изображения. – jo3birdtalk

+0

Вы все еще можете сделать это с помощью 'UIImageView' или' UILabel', вам просто нужно добавить к ним распознаватели жестов, вот что хорошо в UIButton - все это уже позаботится о вас. Вы также можете установить UIButton с фоновым изображением. –

+0

Я делаю то, что вы сейчас говорите. Внутри UITableViewCell я создаю жест, подобранный для UIImage. Я мог распечатать изображение, но в методе жестового нажатия, 'print (self.tableView.indexPathForSelectedRow)' он показывает нуль. Могло ли мое понимание того, что вы говорите, неправильно? – jo3birdtalk

0
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
NSLog(@"%ld",(long)indexPath.row); 
    if (indexPath.row==0) 
    { 
     [self performSegueWithIdentifier:@"abc" sender:self]; 
    } 

    if (indexPath.row==1) 
    { 

    } 
    }