0

ここではまだ 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 で必要なのかわかりません。

4

2 に答える 2

1

わかりました-追加するのと同じくらい簡単でした:

    tableView.rowHeight = 44; 

私の後

    static NSString *CellIdentifier = @"Cell"; 

ライン。これは iOS 7 では必要ありませんでした。なぜ iOS 8 で必要なのかわかりません。

于 2014-09-01T18:56:11.753 に答える