1
非常にシンプルなデモアプリケーションをビルドして、tableViewをインストールした状態でUIViewControllerを使用する際に見つかった2つのバグを説明しました。これらの問題は、標準のUITableviewControllerを使用している場合は表示されません。複数のUITableViewBugs with refreshControl
私はゆっくりとリフレッシュするために引いたときに、基本的に、私は下向きに、このジャンプ(約30点)を取得します。また、リフレッシャーがアクティブになる前に、フェアビットをドラッグする必要があります(画面の半分程度)。私が速く引っ張っても問題はない。
hideNavigationBarOnSwipeとrefreshControlを同時に実装すると、セクションヘッダーがすべて醜くて場所がずれているため(ビデオの後半に表示されるため)、私はAppleが、私はそれをやってみる必要があり、次の3つの選択肢のどれ、それを改善かどうかを確認するためにショットを取りたい場合は
- 迅速2から更新Xcodeの迅速3.
- から7から8
- へのアップデートが高いIOSバージョンのアプリをビルドします
----完全なコード----
import UIKit
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var myTableView: UITableView!
var refreshControl: UIRefreshControl!
override func viewDidLoad() {
super.viewDidLoad()
myTableView.delegate = self
myTableView.dataSource = self
navigationController!.hidesBarsOnSwipe = true
refreshControl = UIRefreshControl()
refreshControl.addTarget(self, action: #selector(ViewController.refresh), forControlEvents: .ValueChanged)
myTableView.addSubview(refreshControl)
}
func refresh() {
}
@IBAction func stopRefreshingBtnPressed(sender: AnyObject) {
refreshControl.endRefreshing()
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 10
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("myCell", forIndexPath: indexPath)
cell.textLabel?.text = "section \(indexPath.section) row \(indexPath.row)"
return cell
}
func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 20
}
func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return "Section Header \(section)"
}
}
グレートソリューション。ポインティングに感謝「UIRefreshControlはサブビューではなく、テーブルのリフレッシュ制御を意図したものです。 それはちょうどサブビューではなく、セルのように再計算を強制するセルと見なされます。 – user125972