我正在创建一个iOS应用,其中包含UITextView
下的详细文字。我在if(detailDescriptionTextView.isScrollEnabled == true)
{my button.isHidden = true }
旁边的视图中添加了一个分享按钮。我希望在用户开始滚动时隐藏按钮,并在未检测到滚动时返回。
我做的是这个...... {{1}}
上面的代码完全隐藏了按钮,因为默认情况下scrollview处于启用状态。那我该怎么办?
答案 0 :(得分:4)
从UITextView
继承UIScrollView
,您可以使用UIScrollViewDelegate
方法来实现此目的。您只需设置UITextView
的委托并实施以下UIScrollViewDelegate
的方法,然后您就可以了。
func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {
if yourTextView = scrollView {
yourButton.isHidden = true
}
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
if yourTextView = scrollView {
yourButton.isHidden = false
}
}
答案 1 :(得分:1)
UITextView是一个UIScrollView子类。因此,在使用UITextView时,您使用的UIScrollView委托方法也可用。
你应该使用scrollViewDidScroll来检测滚动
func scrollViewDidScroll(_ scrollView: UIScrollView) {
button.isHidden = true
}
您可以使用scrollViewDidEndDecelerating。它会在textView停止滚动时调用。
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
button.isHidden = false
}