3

環境

  • iOS 7 向けのビルド
  • ビューコントローラー上の 2 つの UITableView
  • 制約を使用して、テーブルビューを 3.5 インチから 4 インチの画面サイズに合わせてサイズ変更します。

ここに画像の説明を入力

私が試したこと

  • UITableView のドキュメントを読む
  • 検索スタックオーバーフロー
  • このコードを試しました:[self.bottomTableView scrollToRowAtIndexPath:0 atScrollPosition:UITableViewScrollPositionTop animated:NO];

結果

  • 下部の tableView のコンテンツは、tableview の中央に読み込まれます。これらのセルをテーブル ビューの上部に向かってスクロールできますが、中央に「スナップ」されます。どうすればこれを回避できますか?

アップデート

これは、ロード時にテーブルビューがどのように見えるかです。緑色の背景は、下部のテーブル ビューの上半分に残されたすべての空白を示しています。

ここに画像の説明を入力

これはコードです:

#pragma mark - Table View Methods

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    if (tableView == self.topTableView) {
        return [self.array count];
    }
    else{
        return [self.array count];
    }
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *simpleTableIdentifier = @"SimpleTableItem";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }

    if (tableView == self.topTableView) {
        cell.textLabel.text = @"60";

        return cell;
    }
    else{
        cell.textLabel.text = @"60";

        return cell;
    }

}

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

}
4

1 に答える 1

2

あなたのコードはすべて問題ありません。WWDC ドキュメントで何かを見逃していない限り、Xcode と iOS 7 のバグのようです。

サブビュー配列の最初の要素にナビゲーションバーの高さを適用します。要素が実際にバーの下にあるかどうかは関係ありません。彼は盲目的にそれを適用するだけです。ストーリーボードの順序を変更できます。たとえば、一番下のテーブルビューを一番上に移動すると、一番下のビューに問題があるとします。

2 つの選択肢があります。ViewController で「Under Top Bars」を無効にすると、すべて問題ありません。または、UILabel を一番上に移動します。彼が静的ラベルで調整できるものは何もありません。Maverics GM でリリースされた Xcode 5.0.1 で修正されるかもしれません。まだそれをダウンロードしています。DLできたら試してみます。

ここに画像の説明を入力 ここに画像の説明を入力

ここに画像の説明を入力

于 2013-10-04T05:47:49.000 に答える