Я использую PageViewController
и панель вкладок.И у меня есть вопрос: «Как переместить другой вид, нажав кнопку».Мое приложение имеет 5 ViewControllers, и они на PageViewController
.И PageViewController
находится на ViewController.Этот ViewController является MainController.Таким образом, я разделил основной вид примерно 4: 1 (PageViewController: панель вкладок).Поэтому панель вкладок находится в MainController, MainController может изменять ViewController при касании элемента вкладки.
Но я хочу сделать кнопку на одном из пяти ViewController, которая может изменить ViewController.
Кнопкане имеет права менять ViewController.Поэтому я искал, как решить эту проблему, но он не мог найти хорошее решение.
Я думаю, что решение очень короткое, около 1 ~ 2 предложений.
Я прикрепил свой код, поэтому янадеюсь, кто-нибудь, кто знает, как решить эту проблему, пожалуйста, поможет мне.
Я новичок в Swift, поэтому объясните подробнее, пожалуйста
Это часть MainController
import UIKit
class ViewController: UIViewController, UIPageViewControllerDataSource, UIPageViewControllerDelegate {
var pageViewController: UIPageViewController!
var subVC: [UIViewController] = []
var viewIndex: Int = 0
var tabIndicator1 = UIView()
var tabIndicator2 = UIView()
var tabIndicator3 = UIView()
var tabIndicator4 = UIView()
var tabIndicator5 = UIView()
var views = [UIView]()
override func viewDidLoad() {
super.viewDidLoad()
createVC() // make five ViewControllers
self.pageViewController = self.storyboard?.instantiateViewController(withIdentifier: "PageViewController") as! UIPageViewController
self.pageViewController = UIPageViewController(transitionStyle: .scroll, navigationOrientation: .horizontal, options: nil)
self.pageViewController.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height)
self.addChildViewController(self.pageViewController)
self.view.addSubview(self.pageViewController.view)
let startVC = subVC[0]
viewIndex = 0
let viewControllers = NSArray(object: startVC)
self.pageViewController.setViewControllers(viewControllers as? [UIViewController], direction: .forward, animated: true, completion: nil)
self.pageViewController.didMove(toParentViewController: self)
createTabBar() // make Tab Bar
createIndicator() // make Tab Indicator
self.pageViewController.dataSource = self
self.pageViewController.delegate = self
}
...
func createVC() { // I have five ViewController files
let HomeVC = VCInstance(name: "Home")
let AccessVC = VCInstance(name: "AccessLog")
let RegisterVC = VCInstance(name: "Register")
let SettingVC = VCInstance(name: "Setting")
let HelpVC = VCInstance(name: "Help")
subVC = [HomeVC, AccessVC, RegisterVC, SettingVC, HelpVC]
}
func VCInstance(name: String) -> UIViewController {
return UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: name)
}
....