我正在尝试使用3个启动视图执行应用程序,您可以在其间滑动。很喜欢像。
我已经很好了,但是当我尝试嵌入3个View Controller中的一个时,它会调整大小到屏幕的一小部分。
这是我的代码:
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的行,则屏幕上的宽度是正确的,但我无法在视图上获得用户交互。
有什么想法吗?
答案 0 :(得分:0)
我有类似的问题。在viewDidLoad中,尝试添加(对我有用):
self.ScrollView.frame = (UIApplication.sharedApplication().delegate?.window!.frame)!