сотовый телефон на сенсорном экране iphone - PullRequest
2 голосов
/ 31 октября 2009

Я настраиваю ячейки для рисования, как я могу выделить ячейки при касании

спасибо

Ответы [ 3 ]

6 голосов
/ 31 октября 2009

UITableViewCell имеет два вызываемых метода:

- (void) setHighlighted:(BOOL)highlighted

- (void) setSelected:(BOOL)selected

В основном setHighlighted вызывается при касании (и отменяется при касании), тогда как setSelected получает вызовы, когда выделение «застряло» (пользователь хотел нажать на ячейку). Если вы поиграете с обычным представлением таблицы и комбинацией ячеек, вы заметите, что ячейки могут выделяться кратко и не выделяться при прокрутке от них.

Чтобы выделить фон, если вы используете пользовательскую заливку фона в drawRect, вы можете изменить его цвет и вызвать setNeedsDisplay в setHighlighted, чтобы заставить его перерисовать новый фон.

0 голосов
/ 10 августа 2010

Не работает для пользовательской ячейки

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES]; - (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath

Я использовал UIImageView внутри пользовательской ячейки для ее анимации.

  - (IBAction)highlighteMe
{
    shadowImage.alpha = 0.f;
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDelegate:self];
    [UIView setAnimationDuration:0.3];
    shadowImage.alpha = 0.3f;
    [UIView commitAnimations];
}
0 голосов
/ 31 октября 2009

Используйте один или оба из них:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

- (NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath

Вы должны предоставить эти методы, и они будут вызваны при выборе строки. Вы можете изменить свой взгляд, чтобы он выглядел выделенным. Если вы не внесли много изменений в ячейки, возможно, вы сможете использовать selectedBackgroundView для выделения выделений.

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