2015-03-02 3 views

ответ

4

Таблицы WatchKit не имеют разделов или заголовков, ни нижних колонтитулов, ни редактирования, ни поиска, ни источников данных, ни делегатов.

+0

длинное дыхание .. AAAhhh sighhh –

16

WKInterfaceTable не такой гибкий, как UITableView, но вы можете создавать строки вручную, используя разные типы строк. И заполняйте контент для каждой ячейки в соответствии с ее типом.

См документации:

Apple Watch Programming Guide: Tables

WatchKit Framework Reference: 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 = ...; 
        } 
    } 
    

Выполнено! Используйте свое воображение и создавайте более сложные структуры данных.

+0

Если вы просто хотите заголовок, просто перетащите группу с меткой в ​​нее и положите ее над WKInterfaceTable, и она будет работать нормально. – GeneCode

0

Табличные разделы недоступны в WatchKit API. Но раздел просто группа клеток с дополнительными видами заголовка/нижнего колонтитула, которые могут быть смоделированы с помощью специально созданных клеток:

WatchKit table with simulated sections

Я создал простой WKInterfaceTable extensions, которые помогают управлять таблицами. Загрузить Sample app.

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