如何在WKInterfaceTable中创建节

Moh*_*ani 8 ios apple-watch watchkit wkinterfacetable

我们如何在表中创建部分,因为没有委托.是否有任何其他方式来创建部分或我们必须使用两个表.

Kep*_*pPM 17

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 = ...;
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

完成!发挥想象力,创造更复杂的数据结构.


sas*_*ash 5

WatchKit 表没有节或页眉、页脚、编辑、搜索、数据源或委托。