6

iOS 6 SDKを使用し、iPhone 5.0シミュレーターでアプリを実行すると、テーブルビューはグループ化されたスタイルのテーブルビューとして問題なく表示されます。ただし、iPhone 6.0シミュレーターで実行すると、UITableViewStylePlainテーブルビューとして表示されます。

この奇妙な振る舞いを引き起こす原因は何か考えはありますか?テーブルビューセル内のテキストビュー以外に、テーブルビューであまりクレイジーなことをしているわけではありません。

4

2 に答える 2

6

次のコードを使用して、iOS6で正しく機能するグループ化されたテーブルビューがあります。

tableView = [[UITableView alloc] initWithFrame:CGRectMake(0,0,self.bounds.size.width,self.bounds.size.height) style:UITableViewStyleGrouped];
[tableView setDataSource:self];
[tableView setDelegate:self];

このグループ化されたテーブルビューを作成するためにInterfaceBuilderを使用していますか、それともプログラムで作成していますか?iOS6と以前に作成されたinterfacebuilderビューにはかなりの数の問題があるようです。

IBを使用して物を作成している場合は、コードでテーブルビューを再作成してみてください(冗長で役に立たないことはわかっていますが、何が問題なのかがわかる場合があります)。

viewDidLoad()関数のどこかに

    if(tableView)
    {
        [tableView removeFromSuperview];
    }
    tableView = [[UITableView alloc] initWithFrame:tableView.frame style:UITableViewStyleGrouped];
    [tableView setDataSource:self];
    [tableView setDelegate:self];
    [self addSubview:tableView];

これはコーディングが不十分であるか、アークを使用していない場合にメモリリークを引き起こす可能性がありますが、そのようにグループ化されたスタイルを取得するかどうかを確認するのは興味深いことです。

于 2012-09-21T15:25:37.083 に答える
3

このコードは私にとってios6グループ化されたテーブルビューの問題を解決しました:

tableView.backgroundColor = [UIColor clearColor];
tableView.opaque = NO;
tableView.backgroundView = nil;
于 2012-09-21T16:56:24.373 に答える