2015-03-26 3 views
0

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

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

Как я могу это достичь? Есть что-то вроде tag или restoreID для разделов?

EDIT: заголовок заголовок кажется не надежным вариантом, потому что приложение будет локализовано.

ответ

0

Вы можете проверить свой раздел по его названию, как это (в Swift, извините!):

if tableView.headerViewForSection(indexPath.section)?.textLabel.text == "SomeSection" 
{ 
    //This is some section 
} 
+0

Спасибо за ваш ответ. Я пытаюсь выработать решение в объективе-c следующим образом: '- (UIView *) tableView: (UITableView *) tableView viewForHeaderInSection: (NSInteger) раздел { NSLog (@"% @ ", [tableView headerViewForSection : раздел] .textLabel.text); return [tableView headerViewForSection: section]; } ' , но по какой-либо причине текст всегда пуст. Может быть, я должен использовать другую функцию делегата, чтобы объединить ее с вашим ответом. – Mijail

+0

В любом случае, я понимаю, что приложение будет локализовано, чтобы название не было надежным вариантом. Однако я должен изменить это в главном вопросе. Спасибо, в любом случае. – Mijail

0

Добавить перечисление различных разделов в коде и на SB установить тег заголовка к значению перечисления.

typedef enum : NSUInteger { 
    MY_ENUM_A = 123, 
    MY_ENUM_B = 321, 
    MY_ENUM_C = 231, 
} MY_ENUM; 

А потом

UIView *header = [self.view viewWithTag:MY_ENUM_B]; 
+0

Спасибо за ваш ответ. Как установить тег заголовка в статическом представлении таблицы на раскадровке? Кажется, я не могу найти его. – Mijail

+0

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

+0

, но это ячейка, а не заголовок раздела справа? – Mijail

Смежные вопросы