我在UISplitViewController方面苦苦挣扎,尝试使用/usr/include/c++/8/ext/new_allocator.h:136:4: error: ‘A::A()’ is private within this context
因此,有一点背景知识:
我有一个DisplayMode.primaryOverlay
,一个SplitViewController
和一个MasterView Controller
。我希望导航栏中有一个按钮,该按钮会使DetailViewController
折叠起来。有很多文章介绍了此功能,并且效果很好:
SplitViewController:
MasterView
DetailsViewController:
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
self.preferredDisplayMode = UISplitViewController.DisplayMode.allVisible
}
使用此配置运行时,一切正常:
Visible MasterView and visible button
Collapsed MasterView and visible button
但是,当SplitViewController中的DisplayMode从override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
configureView()
self.navigationItem.leftBarButtonItem = splitViewController?.displayModeButtonItem
self.navigationItem.leftItemsSupplementBackButton = true
}
更改为DisplayMode.allVisible
时,导航栏中的按钮将不再可见。
Visible MasterView and hidden button
所以我的问题是,使用DisplayMode.primaryOverlay
时是否可以使折叠按钮可见?