Вопрос о выборе полей UITableViewCell - PullRequest
0 голосов
/ 30 декабря 2010

У меня есть пользовательский UITableViewCell, подобный этому:

+--------------------------+
| username                 |
|                          |
|      --- <image> --      |
|                          |
|                <like it> |
+--------------------------+

Он отображает имя пользователя, изображение и кнопку «Нравится», чтобы добавить изображение.Я не хочу, чтобы выбиралась вся ячейка, я хочу, чтобы пользователь мог нажать на «имя пользователя», чтобы увидеть новое представление, отображающее информацию об имени пользователя.То же самое для изображения, когда пользователь нажимает на изображение, он может видеть изображение в новом виде.

Теперь я могу выбрать только всю свою ячейку.Как я могу реализовать что-то вроде этого?

Спасибо.

Когда вы нажимаете на имя пользователя, вы увидите представление для информации о пользователе.Вся ячейка не может быть выбрана.alt text

Ответы [ 3 ]

1 голос
/ 30 декабря 2010

1) Вы сохраняете стиль выбора ячейки как none, ничего не реализуете в методе didSelectRowAtIndexPath.
2) Используйте три отдельные кнопки для имени, изображения и тому подобное. (Потому что вы можете получить событие, нажав на кнопку). И в зарегистрированном методе для кнопки перейдите к соответствующему виду.

0 голосов
/ 30 декабря 2010

Напишите свой класс ячеек так, чтобы вы заполняли его содержимым с помощью метода, подобного setEntry:(MyEntryType*)entry, чтобы он мог запомнить запись. Также дайте ему делегат-свойство для пользовательского протокола. Ячейка устанавливает цель каждой кнопки внутри себя, как [nameButton addTarget:self selector:@selector(namePressed:)...], [likeButton addTarget:self selector:@selector(likePressed:)...]. Поэтому, если пользователь нажимает, например, кнопку «Мне нравится», соответствующая ячейка получает уведомление и вызывает своего делегата с [delegate entryLiked:theCellEntry]. Я надеюсь, вы поняли идею.

0 голосов
/ 30 декабря 2010
-(void)buttonClicked:(id)sender{  
 UIButton *currentButton = (UIButton*)sender;
 if(currentButton==imageButton)
 {
      //navigate to image detail;
 {
 else if(currentButton==nameButton)
 {
     //navigate to user detail;
  }
  else if(currentButton==likeButton)
{
     //implement code for like button;
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...