ios - 如何在 View 出现时以编程方式点击状态栏?

标签 ios swift uiscrollview

有人知道有什么方法可以在 View 出现时以编程方式调用状态栏点击吗?显示时我的 View 不在顶部。

谢谢!

最佳答案

我假设您想要做的是将 View 滚动到顶部,这就是点击状态栏的作用。如果是这种情况,那么这里有一个不错的小 View Controller 扩展来实现这一点。

extension UIViewController {
   func scrollToTop() {
       func scrollToTop(view: UIView?) {
           guard let view = view else { return }
           switch view {
           case let scrollView as UIScrollView:
              if scrollView.scrollsToTop == true {
                 scrollView.setContentOffset(CGPoint(x: 0.0, y: -scrollView.contentInset.top), animated: true)
                 return
              }
           default:
              break
           }

           for subView in view.subviews {
              scrollToTop(view: subView)
           }
        }

        scrollToTop(view: view)
     }

     var isScrolledToTop: Bool {
        for subView in view.subviews {
           if let scrollView = subView as? UIScrollView {
              return (scrollView.contentOffset.y == 0)
           }
        }
        return true
      }
  }

然后在你的 View Controller 的viewDidAppear中,你可以调用

myViewController.scrollToTop()

关于ios - 如何在 View 出现时以编程方式点击状态栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43448475/

相关文章:

ios - 位置管理器 :didRangeBeacons not detect the same beacon two times

objective-c - UIScrollView 不使用自动布局约束

ios - Swift - 不可转换为 'NativeObject'

ios - NSTimeZone 初始化结果为 "unable to read data"

ios - 呈现的 UINavigationController 色调颜色不变

iphone - 通过 iOS 获取 Facebook 图片时出现问题

ios - Admob 广告不显示 swift

ios - 如何将照片(以及标签和按钮)放入 ScrollView ,每次在 Storyboard 中添加新照片时让它变长

ios - UIScrollView 不响应手势

ios - UIButton 将点击和滚动手势传递给 UIScrollView