2

私のtableviewでは、ポートレートモードでのデフォルトのスクロールを無効にしました。しかし、向きが横向きモードに変わると、テーブルの内容全体を表示できるようにスクロールを有効にしました。ただし、スクロールすると、テーブルビュー セルの前後に空白が表示されます。それで、ランドスケープモードのテーブルのデフォルトのスクロールビューでこの空白を削除する方法を誰か教えてもらえますか? autoresizingmaskを使用してみました。また、ランドスケープ モードに従ってテーブルのコンテンツ サイズを設定しようとしました。どちらも機能しませんでした。これがこれまでの私のコードです。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

{

    // Return YES for supported orientations

    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);

  }

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {

if((self.interfaceOrientation == UIDeviceOrientationLandscapeLeft) || (self.interfaceOrientation == UIDeviceOrientationLandscapeRight)){

        self.tableView.scrollEnabled = YES;

        self.tableView.sectionIndexMinimumDisplayRowCount =5;

       self.tableView.contentSize = CGSizeMake(480, 320);

        self.tableView.autoresizingMask = YES;

       //CGFloat cellHeight;}

    else if((self.interfaceOrientation == UIDeviceOrientationPortrait) || (self.interfaceOrientation == UIDeviceOrientationPortraitUpsideDown)){

        self.tableView.scrollEnabled = NO;

        }
  }
4

2 に答える 2

6

didRotateFromInterfaceOrientation メソッドでこれを試してください。

[self.tableView setBounces: NO];

スクロールがバウンドするのを防ぎ、空白を削除します。

于 2013-01-24T08:41:32.023 に答える
1

セルセパレーターを none に設定し、背景色を clearColor にします。scrollView スタイルがデフォルトに設定されていることを確認してください。

于 2013-01-24T08:39:43.523 に答える