2015-03-02 8 views

risposta

4

Le tabelle WatchKit non hanno sezioni o intestazioni o piè di pagina o modifiche, ricerche, origini dati o delegati.

+0

respiro lungo .. AAAhhh sighhh –

16

WKInterfaceTable non è così flessibile come UITableView, ma è possibile creare manualmente le righe, utilizzando diversi tipi di riga. E riempire il contenuto per ogni cella in base al suo tipo.

vedere la documentazione:

Apple Watch Programming Guide: Tables

WatchKit Framework Reference: WKInterfaceTable

Per esempio, creiamo tavolo con due tipi di riga:

  • 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 = ...; 
        } 
    } 
    

Fatto! Usa la tua immaginazione e crea strutture di dati più complesse.

+0

Se si desidera solo un'intestazione, è sufficiente trascinare un gruppo con l'etichetta al suo interno e posizionarlo sopra il WKInterfaceTable e funzionerà correttamente. – GeneCode

0

Le sezioni di tabella non sono disponibili dall'API WatchKit. Ma sezione è solo un gruppo di cellule con prospettive in eccesso di intestazione/piè di pagina, che può essere simulato utilizzando celle progettate su misura:

WatchKit table with simulated sections

ho creato semplice WKInterfaceTable extensions, che aiutano a gestire le tabelle. Scarica Sample app.