3

行が選択されている場合、WKInterfaceTable の行の色を変更したいと思います。これらの手順を実行しましたが、さらに先に進む方法がわかりません:

override func table(table: WKInterfaceTable, didSelectRowAtIndex rowIndex: Int) {

    let row = tableView.rowControllerAtIndex(rowIndex) as! TableRowObject

}

皆さんの誰かが私がこれを行うのを手伝ってくれることを願っています.

4

4 に答える 4

5

行の選択ごとに色を変更できます。

rowController に WKInterfaceGroup の IBOutlet を作成し、Table をストーリーボードにドラッグしたときに作成される DefaultGroup で Storyboard に設定します (新しい WKInterfaceGroup を追加する必要はありません)。

@property (weak, nonatomic) IBOutlet WKInterfaceGroup *rowGroup;

BOOL プロパティを作成して、rowController の選択ステータスを追跡します。

@property (nonatomic, readwrite) BOOL isSelected;

これを didSelectRow に追加し、

- (void)table:(WKInterfaceTable *)table didSelectRowAtIndex:(NSInteger)rowIndex {

    TableRowObject *row = [self.interfaceTable rowControllerAtIndex:rowIndex];

    if (row.isSelected) {
        row.isSelected = NO;
        [row.rowGroup setBackgroundColor:[UIColor clearColor]];
    }
    else {
        row.isSelected = YES;
        [row.rowGroup setBackgroundColor:[UIColor blueColor]];
    }
}
于 2015-06-02T08:04:19.920 に答える
1
@property (weak, nonatomic) IBOutlet WKInterfaceGroup *groupCellContainer;
Create above property in your custom cell for the Group in your cell and connect it with watch interface storyboard.

Add below code in your didSelectRowAtIndex method, this code will set Red background color to selected cell & set Gray color to other cells.
- (void)table:(WKInterfaceTable *)table didSelectRowAtIndex:(NSInteger)rowIndex {
for (int row=0; row < Array.count; row++) {
    CustomCell *customCell = [table rowControllerAtIndex:row];
    if (rowIndex == row) {
        [customCell.groupCellContainer setBackgroundColor:[UIColor redColor]];
    } else {
        [customCell.groupCellContainer setBackgroundColor:[UIColor grayColor]];
    }
}

}

于 2017-06-14T10:00:57.337 に答える
0

ストーリーボードで背景色を設定する必要があると思います。

非常に理論的で、自分でこれを行ったことはありません:

より動的なアプリを使用している場合は、2 つのプロトタイプ行を作成し、それらに ID (Normal、Highlighted) を与えることができます。次に、 と を使用insertRowsAtIndexes(_:)removeRowsAtIndexes(_:)て、強調表示された行に対して行を「切り替え」ます...

最善の解決策ではありませんが、WatchKit がまだ非常に限られていることで頭に浮かぶのは 1 つだけです。

于 2015-05-30T12:00:35.080 に答える