非表示で開始する WKInterfaceTable があり (元のコードでサーバーから情報を取得しているため)、テーブルがいっぱいになると、それを表示するだけで最初の行が折りたたまれます。
ここに willActivate コードがあります。
- (void)willActivate {
// This method is called when watch view controller is about to be visible to user
[super willActivate];
[self.myTable setNumberOfRows:10 withRowType:@"MyCell"];
for (int i = 0; i < self.myTable.numberOfRows; i++) {
MyCell * cell = [self.myTable rowControllerAtIndex:i];
[cell.myTitle setText:@"My title"];
}
[self.myTable setHidden:NO];
}
UPDATEメインキューに送信されたブロックでテーブルを埋めると、問題が解決することがわかりました。
- (void)willActivate {
// This method is called when watch view controller is about to be visible to user
[super willActivate];
[self.myTable setHidden:NO];
dispatch_async(dispatch_get_main_queue(), ^{
[self.myTable setNumberOfRows:10 withRowType:@"MyCell"];
for (int i = 0; i < self.myTable.numberOfRows; i++) {
MyCell * cell = [self.myTable rowControllerAtIndex:i];
[cell.myTitle setText:@"My title"];
}
});
}