gpt4 book ai didi

swift - 在 Swift 3.0 中检测 TextView 滚动以显示按钮

转载 作者:搜寻专家 更新时间:2023-10-31 08:11:47 24 4
gpt4 key购买 nike

我在 UIView 中有一个 TextView 和一个隐藏按钮,我试图检测用户何时向下滚动到一长串文本的底部,并在他们到达底部时显示隐藏按钮。我看到一些关于如何在 Obj-C 中使用 scrollViewDidScroll 完成它的旧帖子,但不太确定如何使用 swift 来完成,或者如何使用 TextView 而不是 ScrollView 来完成。任何帮助都会很棒,因为我在这方面还没有走得太远。

到目前为止,这是我将 obj-c post 翻译成 swift 的尝试,但它对我没有用,事实上我什至不确定函数何时被调用:

 import UIKit

class MainVC: UIViewController, UIScrollViewDelegate {

@IBOutlet var textView: UIScrollView!
@IBOutlet var button: UIButton!

override func viewDidLoad() {

super.viewDidLoad()

textView.delegate = self


}

func scrollViewDidScroll(textV: UIScrollView) {

if (textV.contentOffset.y >= textV.contentSize.height - textV.frame.size.height)
{
button.isHidden = false
}
}

}

提前感谢您的帮助:)

最佳答案

UITextViewUIScrollView 的子类,如果您查看声明,您会看到默认情况下它是 UIScrollViewDelegate,因此您可以删除 Controller 声明中的 UIScrollViewDelegate。相反,让您的 Controller UITextViewDelegate 允许它调用 scrollViewDidScrollMethod。

class ViewController: UIViewController, UITextViewDelegate {

@IBOutlet weak var textView: UITextView! {
didSet {
textView.delegate = self
}
}
@IBOutlet weak var button: UIButton! {
didSet {
button.hidden = true
}
}

func scrollViewDidScroll(scrollView: UIScrollView) {
button.hidden = scrollView.contentOffset.y + scrollView.bounds.height < scrollView.contentSize.height
}
}

关于swift - 在 Swift 3.0 中检测 TextView 滚动以显示按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40146029/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com