Попытка установить ViewControllers внутри горизонтального прокрутки ScrollView, и я попытался независимо от того, что я делаю, ширина каждого ViewController неверна и не может заставить каждого ViewController быть одинаковым. Вышеупомянутый ScrollView отлично работает и используется для подкачки через UIImageView. Ниже приведен вопрос, возможно, есть лучший способ добиться этого.iOS 10 Swift 3 - ViewController внутри ScrollView
Поблагодарили бы за любую помощь по этому вопросу, код вставляется ниже для других. Надеюсь, поможет.
contentScrollView.translatesAutoresizingMaskIntoConstraints = false
// Create the three views used in the swipe container view
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let aboutVC: AboutViewController = storyboard.instantiateViewController(withIdentifier: "AboutViewController") as! AboutViewController
let categoriesVC: CategoriesViewController = storyboard.instantiateViewController(withIdentifier: "CategoriesViewController") as! CategoriesViewController
let reviewsVC: ReviewsViewController = storyboard.instantiateViewController(withIdentifier: "ReviewsViewController") as! ReviewsViewController
// Add in each view to the container view hierarchy
// Add them in opposite order since the view hieracrhy is a stack
self.addChildViewController(aboutVC)
self.contentScrollView!.addSubview(aboutVC.view)
aboutVC.didMove(toParentViewController: self)
self.addChildViewController(categoriesVC)
self.contentScrollView!.addSubview(categoriesVC.view)
categoriesVC.didMove(toParentViewController: self)
self.addChildViewController(reviewsVC)
self.contentScrollView!.addSubview(reviewsVC.view)
reviewsVC.didMove(toParentViewController: self)
contentScrollView.bringSubview(toFront: contentScrollView)
// Set up the frames of the view controllers to align
// with eachother inside the container view
print("scroll view frame bounds: \(self.pagerScrollView.frame.width)")
print("view frame bounds: \(self.view.frame.width)")
print("screen main bounds: \(UIScreen.main.bounds.size.width)")
let width = self.view.frame.width
aboutVC.view.frame = CGRect(x: 0, y: 0, width: width, height: contentScrollView.frame.size.height)
categoriesVC.view.frame = CGRect(x: width, y: 0, width: width, height: contentScrollView.frame.size.height)
reviewsVC.view.frame = CGRect(x: 2 * width, y: 0, width: width, height: contentScrollView.frame.size.height)
// Finally set the size of the scroll view that contains the frames
self.contentScrollView!.contentSize = CGSize(width: 3 * self.pagerScrollView.frame.width, height: contentScrollView.frame.size.height)
вы можете использовать pageviewcontroller. –
pageviewcontroller занимает всю страницу, и это не UX, я собираюсь использовать – ahmad
, используя контейнерный вид ..than, и в этом контейнере вы можете добавить pageviewcontroller –