Как отключить опцию клика или выделение строки в таблице в iphone?

Я новичок в разработке iphone. Я показываю проанализированное содержимое xml в сгруппированном tableView. Я хочу отключить на нем событие щелчка (я не должен вообще иметь возможность щелкнуть его). Поскольку это сгруппированная таблица, она содержит две таблицы и я хочу отключить только первую таблицу, а не вторую. Как я могу этого добиться? Пожалуйста, помогите мне. Спасибо.


person Warrior    schedule 13.02.2010    source источник


Ответы (2)


Если вы не хотите, чтобы пользователь мог щелкнуть представление таблицы, просто используйте этот код:

- (NSIndexPath *)tableView:(UITableView *)tableView
  willSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    return nil;
}
person nevan king    schedule 13.02.2010
comment
Спасибо, он работает. Поскольку это сгруппированная таблица, она содержит две таблицы, и я хочу отключить только первую таблицу, а не вторую. Как я могу это сделать? - person Warrior; 13.02.2010
comment
Сгруппированная таблица по-прежнему остается только одной таблицей. Посмотрите на переданную переменную indexPath, она должна сказать вам, какой раздел был нажат (вместе со строкой). Вставьте оператор if, чтобы вернуть nil для раздела, который вы не хотите выбирать. Для другого верните indexPath как есть. - person nevan king; 13.02.2010
comment
@Warrior, тогда вы должны задать вопрос для раздела, а не для двух таблиц, потому что одна групповая таблица имеет только одно табличное представление с множеством разделов. - person vishiphone; 02.05.2012

Использование делегатов Uitable View и источников данных

//#endif
#pragma mark - UITableViewDataSource

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    NSLog(@"Returning num sections");
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    NSLog(@"Returning num rows");
    return [copyListOfItems count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{
}

- (NSIndexPath *)tableView:(UITableView *)tableView
  willSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    return nil;
}
person Community    schedule 02.05.2012