Как создать разделы в WKInterfaceTable
Как мы можем создавать разделы в таблице, так как для нее нет делегата. И есть ли другой способ создания разделов или мы должны использовать две таблицы.
3 ответа
WKInterfaceTable не так гибок, как UITableView, но вы можете создавать строки вручную, используя разные типы строк. И заполните контент для каждой ячейки в соответствии с ее типом.
Смотрите документацию:
Руководство по программированию Apple Watch: таблицы
Ссылка на платформу WatchKit: WKInterfaceTable
Например, давайте создадим таблицу с двумя типами строк:
- headerRowType
detailRowType
#define type1 @"HeaderRowType" #define type2 @"DetailRowType" // You also must create two classes: HeaderRowType and DetailRowType - controllers for these two types // preparing datasource: fill rowTypes and tableObjects NSArray* rowTypes = @[type1, type2, type2, type2, type1, type2, type2]; // types for table with 1 header cell and 3 detail cells in first "section", 1 header and 2 detail cells in second "section" // set types! self.someTable - WKInterfaceTable, associated with table in UI [self.someTable setRowTypes:rowTypes]; for (NSInteger i = 0; i < rowTypes.count; i++) { NSString* rowType = self.rowTypes[i]; if ([rowType isEqualToString:type1]) { // create HeaderRowType object and fill its properties. There you also can parse any data from main iPhone app. HeaderRowType* type1Row = [self.someTable rowControllerAtIndex:i]; // type1Row.property1 = ...; } else { DetailRowType* type2Row = [self.someTable rowControllerAtIndex:i]; // type2Row.property1 = ...; // type2Row.property2 = ...; } }
Готово! Используйте свое воображение и создайте более сложные структуры данных.
Таблицы WatchKit не имеют разделов или верхних колонтитулов, ни нижних колонтитулов, ни редактирования, ни поиска, ни источников данных, ни делегатов.
Разделы таблиц недоступны из WatchKit API. Но раздел - это просто группа ячеек с дополнительными представлениями верхнего / нижнего колонтитула, которые можно смоделировать с помощью специально разработанных ячеек:
Я создал простые расширения WKInterfaceTable, которые помогают управлять таблицами. Скачать пример приложения.