iPhone Dev: создание tableHeaderView реагировать на прикосновения - PullRequest
1 голос
/ 28 октября 2009

Хорошо, я цель c noob. У меня есть табличное представление с tableHeaderView, и я хочу, чтобы он реагировал на прикосновения?

Вот несколько шагов, которые я делаю при создании представления: 1. создать вид 2. добавить к нему несколько ярлыков и изображений 3. установите для моего tableHeaderView вид, который я создал

Любая помощь будет оценена!

Ответы [ 4 ]

3 голосов
/ 08 июня 2013
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc]
                                      initWithTarget:self
                                      action:@selector(tapTableHeader:)];
[self.tableView.tableHeaderView addGestureRecognizer:recognizer];

- (void)tapTableHeader:(UITapGestureRecognizer *)recognizer {
    NSLog(@"table header taped");
}
0 голосов
/ 28 октября 2009

добавить к ней кучу ярлыков и изображений

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

Если вам просто нужно изображение / текст и чтобы реагировать на нажатия, подумайте об использовании кнопки UIB. Он предоставит вам всю эту функциональность без подклассов.

0 голосов
/ 29 октября 2009

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

0 голосов
/ 28 октября 2009

Вид заголовка может реагировать на прикосновения так же, как любой другой вид. Вы можете поместить на него кнопки или переопределить методы UIResponder, которые обрабатывают сенсорные события, а именно:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...