【问题标题】:Embedding UINavigationController in scrollView在滚动视图中嵌入 UINavigationController
【发布时间】:2016-01-23 23:18:24
【问题描述】:

我正在尝试创建一个具有 3 个启动视图的应用程序,您可以在它们之间滑动。非常喜欢 Snapchat。

我做得很好,但是当我尝试嵌入 3 个视图控制器中的一个时,它会被调整到屏幕的一小部分。

这是我的代码:

override func viewDidLoad() {
    super.viewDidLoad()
    let accCtrl = AccountViewController()
    let feedCtrl = UINavigationController(rootViewController: HomeViewController())
    let hashsCtrl = AccountViewController()

    self.addChildViewController(hashsCtrl)
    self.scrollView!.addSubview(hashsCtrl.view)
    hashsCtrl.didMoveToParentViewController(self)

    self.addChildViewController(feedCtrl)
    self.scrollView!.addSubview(feedCtrl.view)
    feedCtrl.didMoveToParentViewController(self)

    self.addChildViewController(accCtrl)
    self.scrollView!.addSubview(accCtrl.view)
    accCtrl.didMoveToParentViewController(self)

    accCtrl.view.frame = view.frame
    // feedCtrl.view.autoresizesSubviews = false
    feedCtrl.view.frame = CGRectMake(view.frame.width, 0, view.frame.width, view.frame.height)
    feedCtrl.setNavigationBarHidden(true, animated: false)
    feedCtrl.view.setNeedsLayout()
    hashsCtrl.view.frame = CGRectMake(view.frame.width * 2, 0, view.frame.width, view.frame.height)

    scrollView.contentSize = CGSizeMake(view.frame.width * 3, view.frame.height)
    scrollView.pagingEnabled = true
    scrollView.showsHorizontalScrollIndicator = false
    scrollView.showsVerticalScrollIndicator = false

    scrollView.contentOffset = CGPointMake(view.frame.width, 0)
}

我注意到屏幕上视图的最终宽度几乎是 x - 280。如果我将 feedCtrl.view.frame 设置为一个宽度,则结果宽度为 1.0 磅。实际上 - 也就是屏幕宽度 - 导致 40.0 磅的宽度。

我还注意到,如果我取消注释将 feedCtrl.view.autoresizeSubviews 布尔值设置为 false 的行,屏幕上的宽度是正确的,但我无法在视图上进行用户交互。

有什么想法吗?

【问题讨论】:

    标签: ios uiscrollview uinavigationcontroller


    【解决方案1】:

    我遇到了类似的问题。在 viewDidLoad 中,尝试添加(对我有用):

    self.ScrollView.frame = (UIApplication.sharedApplication().delegate?.window!.frame)!
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      相关资源
      最近更新 更多