I installed a UIScrollView, which contains two ViewController's. Here's what mine looks like viewDidLoad:
override func viewDidLoad() {
super.viewDidLoad()
scrollView.delegate = self
self.automaticallyAdjustsScrollViewInsets = false
let allViewController = self.storyboard!.instantiateViewControllerWithIdentifier("All") as! AllViewController;
let favoritesViewController = self.storyboard!.instantiateViewControllerWithIdentifier("Favorites") as! FavoritesViewController;
scrollView!.contentSize = CGSizeMake(2*CGRectGetWidth(allViewController.view.frame), CGRectGetHeight(scrollView!.frame));
let viewControllers = [allViewController, favoritesViewController]
var idx:Int = 0;
for viewController in viewControllers {
addChildViewController(viewController);
let originX:CGFloat = CGFloat(idx) * CGRectGetWidth(scrollView!.frame);
viewController.view.frame = CGRectMake(originX, 0, viewController.view.frame.size.width, viewController.view.frame.size.height);
scrollView!.addSubview(viewController.view)
viewController.didMoveToParentViewController(self)
idx++;
}
Everything works fine on the iPhone 6 simulator, but when I run it on the iPhone 5 simulator, there is a gap between the controllers when scrolling:
[
] ScrollView has an automatic layout set to 0 for leading, trailing, top, and bottom.
source
share