我正在设置一个包含多个 ViewController 的 MainViewController,方法如下:
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
let pageController = UIPageViewController(
transitionStyle: UIPageViewControllerTransitionStyle.scroll,
navigationOrientation: UIPageViewControllerNavigationOrientation.horizontal,
options: nil
)
let navigationController = MainViewController(rootViewController: pageController)
navigationController.view.backgroundColor = UIColor.white
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let leftView = storyboard.instantiateViewController(withIdentifier: "VC1")
let middleView = storyboard.instantiateViewController(withIdentifier: "VC2")
let rightView = storyboard.instantiateViewController(withIdentifier: "VC3")
navigationController.viewControllerArray = [leftView, middleView, rightView]
self.window!.rootViewController = navigationController
self.window!.makeKeyAndVisible()
return true
}
}
我的 MainViewController 也有一个应该是 float 按钮的东西。我已经在 Storyboard 中添加了这个(见下图)。问题是按钮没有显示。我如何让它显示? 我知道这个问题不知何故与我在 AppDelegate 中添加 MainViewController 这一事实有关,但我不确定它是如何隐藏按钮的。
最佳答案
您不是从 Storyboard创建您的 MainViewController
实例,您只是通过调用它的初始化程序来创建它。这意味着您的 Storyboard元素都不会被加载
你需要这样的东西:
let navigationController = storyboard.instantiateViewController(withIdentifier: "Main")
navigationController.viewControllers = [pageController]
关于swift - AppDelegate 不显示 Storyboard 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51181366/