2017-05-02 7 views
1

にprototypecellとテーブルビュー間の空きスペースを削除するために、私は私のテーブルビューがスクロールされていません。ここ どのようにテーブルビューのスクロールを維持するために、どのようにSwift3

Swift3

でテーブルビューに関する二つの質問を持っているとさえ私はUIViewの属性のスクロールビューのインセットを調整するオフインスペクタは、セルの上の空のスペースも削除しません。ここで

私のテーブルビューにもスクロールはテーブルビューをスクロールする方法 を有効になってスクロールされていない理由は、私のコード

に行うにはどんなものがあります私のようなコードを書かれている二つの質問

で私を助けてください

import UIKit 

class movieViewController: UIViewController,UITableViewDataSource,UITableViewDelegate { 

    @IBOutlet weak var tableviewLayout: UITableView! 

    var itemsArray = ["One","Two","Three","Four","Five","six","Seven","Eight","Nine","Ten"] 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     tableviewLayout.isScrollEnabled = true 
     scrollToLastRow() 
    } 

    override func viewWillAppear(_ animated: Bool) { 
     self.tableviewLayout.contentInset = UIEdgeInsetsMake(-35, 0, 0, 0); 
     //only this is working 
     //but when i uncheck the adjust scroll view insets why it is not working 
    } 

    func numberOfSections(in tableView: UITableView) -> Int { 
     return 1 
    } 

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
     return itemsArray.count 
    } 

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) 
     cell.textLabel!.text = itemsArray[indexPath.row] 
     return cell 
    } 

    func scrollToLastRow() { 
     let indexPathrow = NSIndexPath(row: itemsArray.count - 1, section: 0) 
     self.tableviewLayout.scrollToRow(at: indexPathrow as IndexPath , at: UITableViewScrollPosition.bottom, animated: true) 
    } 

} 
+0

tableviewLayout.dataSourceおよびtableviewLayout.delegateをselfに設定しましたか? –

+0

コードに何か変わったことはありません。うまくいくはずです。あなたのストーリーボードやXIBファイルや制約については、投稿できますか?スペースの問題には制約があります。 –

+0

スクロールするには、viewDidAppearのscrollToLastRowを呼び出す必要があります。 –

答えて

0

scrollToLastRow()の下viewDidLoad方法では動作しません。 viewDidAppearメソッドで使用すると正常に動作します。

+0

Nishant Bhindiさんに感謝します。viewDidAppearのscrollToLastRow()メソッドを呼び出すと動作しますが、直接そこから終了することになります。スクロールしようとしたときにスクロールしようとしたときに移動していないことを意味する – Swift

+0

スクロールアニメーションは起こっていませんか? 'animated'プロパティに' true'を指定しているので、それが必要です。それでも起こっていない場合は、 'self.perform(#selector(self.scrollToLastRow)、with:nil、afterDelay:0.2)'を実行してください。 本当に助けてください。 –

関連する問題