如何在视图出现时以编程方式点击状态栏?

时间:2017-04-17 09:11:31

标签: ios swift uiscrollview

有人知道有什么方法可以在视图出现时以编程方式调用状态栏吗?出现时我的观点不在顶层。

谢谢!

1 个答案:

答案 0 :(得分:1)

我将假设您要执行的操作是将视图滚动到顶部,这就是点击状态栏的功能。如果是这种情况,那么这里是一个很好的小视图控制器扩展来实现它。

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
      }
  }

然后在视图控制器的viewDidAppear中,您可以调用

myViewController.scrollToTop()