ここではまだ iOS プログラミングは初めてです。iOS 7 では完全に動作するが、iOS 8 では押しつぶされたように見える UITableView があります。複数のデバイス。シミュレーター (iOS 7 と iOS 8 シミュレーター) を使用した場合にも、同じ問題/違いが見られます。
Xcode 6 ベータ 6、Yosemite ベータ 6、iOS 7.12、および iOS 8 ベータ 5 を使用しています。
問題を示すために、コードをできるだけシンプルで完全なものにしました。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
// Return the number of sections.
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// Return the number of rows in the section.
return [self.numberOfDays count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier ];
NSLog (@"%li", (long)indexPath.row);
UILabel *label;
label = (UILabel *)[cell viewWithTag:1];
label.text = @"Monday";
return cell;
}
私の NSLog ステートメントに注目してください。UIViewTable (0-87) には 88 行あります。
このテーブルが iOS 7 に読み込まれると...
- コンソールに 12 行表示されます
- これは、表示可能な行の初期数であるため、
- テーブルは素晴らしくスムーズにスクロールします...すべてが世界に適しています。
このテーブルが iOS 8 に読み込まれると...
- コンソールに 88 行表示されます
- とにかく、私には意味がありません
- テーブルの最初の外観はよさそうです
- たとえば、最初の 12 行は正しく表示されます
- テーブルが正しくスクロールされません。
- 行 12 ~ 87 は、約 1 ピクセルの高さで表示されます。
テーブルをスクロールしてみるまで、テーブルの最初の外観は問題ないように見えます (たとえば、最初の 12 行が正しく表示されます)。次に、行 12 ~ 87 が約 1 ピクセルの高さで表示されます。
助けてください!
OK - 次を追加するのと同じくらい簡単でした: tableView.rowHeight = 44; 私の静的 NSString *CellIdentifier = @"Cell"; の後 ライン。これは iOS 7 では必要ありませんでした。なぜ iOS 8 で必要なのかわかりません。