0
我在一個ContainerView中嵌入了一個PageController。 爲什麼我在PageController中顯示的視圖未縮放以適合PageController?我怎樣才能達到「規模適合」? (至少的PageController本身適應其尺寸與ContainerView)iOS/Swift 3:在UIPageController中UIView太大
我的類是:
import UIKit
class YellowController : UIViewController
{
}
class GreenController : UIViewController
{
}
//from a tutorial:
class PageController : UIPageViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate
{
// from stackoverflow to avoid the black box at the bottom of the pagecontroller
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
for view in self.view.subviews
{
if view is UIScrollView
{
view.frame = UIScreen.main.bounds
}
else
{
view.backgroundColor = UIColor.clear
}
}
}
lazy var VCArray: [UIViewController] =
{
return [self.VCInstance(name: "InfoPage"),
self.VCInstance(name: "FragePage"),
self.VCInstance(name: "AntwortPage") ]
}()
private func VCInstance (name: String) -> UIViewController
{
let VCC = UIStoryboard(name: "Lerneinheit", bundle: nil).instantiateViewController(withIdentifier: name)
return VCC
}
override func viewDidLoad() {
super.viewDidLoad()
self.dataSource = self
self.delegate = self
if let InfoPage = VCArray.first
{
setViewControllers([InfoPage], direction: .forward, animated: true, completion: nil)
}
}
public func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController?
{
guard let viewControllerIndex = VCArray.index(of: viewController)
else
{
return nil
}
if (viewControllerIndex<1)
{
return nil
}
return VCArray[viewControllerIndex - 1]
}
public func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController?
{
guard let viewControllerIndex = VCArray.index(of: viewController)
else
{
return nil
}
if viewControllerIndex == VCArray.count-1
{
return nil
}
return VCArray[viewControllerIndex + 1]
}
public func presentationCount(for pageViewController: UIPageViewController) -> Int
{
return VCArray.count
}
public func presentationIndex(for pageViewController: UIPageViewController) -> Int
{
guard let firstViewController = viewControllers?.first, let firstViewControllerIndex = VCArray.index(of: firstViewController)
else
{
return 0
}
return firstViewControllerIndex
}
IB: 結果第w黃色視圖beeing切割,而不是縮放以適合的PageController: 約束爲黃色視圖:
您需要提供更多數據。 「雙控制器」實際上是否包含嵌入標籤內的滾動視圖? 您是否正確使用自動佈局? 你如何「餵養」VC的UIPage? 提供剪切代碼會有幫助 – OhadM
您的txtInfo是否可在該VC內滾動?此外,看起來你有一個灰色的約束,請刪除它。 – OhadM
是的,它是可滾動的。 – daviid