[英]Live Detection of scrollView position in panned view
最初啟動時,我有一個平移的UIViewController,它加載了兩個單獨的XIB視圖,用戶可以滑動這些視圖來遍歷。 一旦用戶在總寬度(兩個視圖的平移寬度)上滑動2/3,我想觸發代碼,但是我的檢測無效。
到目前為止,這是我的代碼...
let vc0 = ViewController0(nibName: "ViewController0", bundle: nil)
let vc1 = ViewController1(nibName: "ViewController1", bundle: nil)
class ViewController: UIViewController {
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
self.addChildViewController(vc0)
self.scrollView.addSubview(vc0.view)
vc0.didMoveToParentViewController(self)
var frame1 = vc1.view.frame
frame1.origin.x = self.view.frame.size.width
vc1.view.frame = frame1
self.addChildViewController(vc1)
self.scrollView.addSubview(vc1.view)
vc1.didMoveToParentViewController(self)
self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width * 2, self.view.frame.size.height - 66)
// This doesn't work
scrollView.delegate = self
// If the user user swipes 2/3 in (or it can be any other offset that's practical)
if (scrollView.contentOffset.x > (self.view.frame.size.width*2)*(2/3)) {
// Code I'd like to execute
// ...
}
}
Swift怎么可能?
您應該使用以下方式設置滾動視圖的委托
scrollView.delegate = self
並聲明您的類實現了UIScrollViewDelegate
:
class ViewController: UIViewController, UIScrollViewDelegate
然后實現scrollViewDidScroll
,每次滾動視圖的滾動更改時都會調用它。
func scrollViewDidScroll(scrollView: UIScrollView) {
// If the user user swipes 2/3 in (or it can be any other offset that's practical)
if (scrollView.contentOffset.x > (self.view.frame.size.width*2)/(2/3)) {
// Code I'd like to execute
// ...
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.