2017-02-20 15 views
0

UITableViewのコンテンツを画面の両側にある2つのバーに含まれる領域の周りに「センタリング」する方法を理解しようとしています。すべての画面サイズのデバイス。私はこれの意味することは次のとおりです。UITableViewコンテンツを中心点を中心にスクロールする方法

  • ビューの初期状態は、最後のセルは、その領域内
  • 細胞になるまで、テーブルビューがスクロールすることができるはず
  • その領域内の最初のセルを持つべきです画面上にまだ残っていても消えないはずです

私はテーブルビューのフレームを調整するだけでなく、テーブルビューのコンテンツのオフセットとインセットについてさまざまなことを試しましたが、必然的にインセットを取得します間違っているか、消える前に細胞が消えてしまう画面。

どちらか一方が間違った方法であるのか、間違った設定の組み合わせだけがあるのでしょうか。

ヒントをお聞かせください。

Screen

答えて

0

私のために、次の作品は:

//In viewDidLoad, etc...: 
self.edgesForExtendedLayout = UIRectEdgeNone; 
self.automaticallyAdjustsScrollViewInsets = YES; 

override func viewDidLayoutSubviews() { 
    super.viewDidLayoutSubviews() 

    let inset = (self.tableView.frame.size.height - 44)/2.0 // Figure out your bar size here 

    self.tableView.contentInset.top = inset 
    self.tableView.contentInset.bottom = inset 

    let path = NSIndexPath(row: 0, section: 0) as IndexPath 

    self.tableView.scrollToRow(at: path, at: .middle, animated: false) 
} 
関連する問題