ios - 如何在 textView 滚动期间隐藏 UIButton

标签 ios swift swift3 uitextview

我正在制作一个 iOS 应用程序,其中包含 UITextView 下的详细文本。我在 UITextView 旁边的 View 中添加了一个共享按钮。我希望在用户开始滚动时隐藏按钮,并在未检测到滚动时返回。

我做的是这个... 如果(detailDescriptionTextView.isScrollEnabled == true) {我的 button.isHidden = true}

上面的代码完全隐藏了按钮,因为默认情况下 ScrollView 是打开的。那我该怎么办呢?

最佳答案

UITextView 继承自 UIScrollView 以来,您可以使用 UIScrollViewDelegate 方法来实现此目的。您只需要设置 UITextView 的委托(delegate)并实现 UIScrollViewDelegate 的以下方法即可。

func scrollViewWillBeginDecelerating(_ scrollView: UIScrollView) {
    if yourTextView = scrollView {
        yourButton.isHidden = true 
    }
}

func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
    if yourTextView = scrollView {
        yourButton.isHidden = false
    }
}

关于ios - 如何在 textView 滚动期间隐藏 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44694721/

相关文章:

ios - 使用以下方法消除 UINavigationbar 和另一个 View 之间的黑字符串的秘诀是什么?

ios - 将核心数据数据库从一台设备传递/导出到另一台设备

ios - 将 UIStackView 子类化为观察者

swift - 不能继承 DispatchGroup - "only visible via the Objective-C runtime"吗?

ios - 使用 Xcode 9 和 AES 解密的 CryptoSwift

ios - Swift 搜索栏( Controller )内存泄漏

ios - 将 NSNumber 转换为 Float 时的意外行为

ios - 火力地堡分析 : Install Referrer: iOS app

ios - 在 Swift 中推送和弹出后 View 不显示

swift - 什么是 swift 3 中 NSTimer.scheduledTimerWithTimeInterval() 的替换?