我在 Swift 中使用 iOS 上的 Mapbox 框架来创建自定义 NavigationViewController。我需要帮助以获取FloatingStackView
对NavigationView
.
我添加了一个额外的按钮(参见屏幕截图的左上角),我想将它锚定到右侧的 FloatingStackView 上,以便它随着顶部横幅的变化而上下移动(类似于 FloatingStackView 的行为)。问题是我似乎无法访问 FloatingStackView。从我在 Mapbox 源代码中看到的内容来看,这FloatingStackView
是 a 的子视图,它是NavigationViewControllerNavigationView
的视图。问题是我无法访问 mapViewController,因为它由于内部保护级别而无法访问。RouteMapViewController
mapViewController
这是我想做的一个例子:
import UIKit
import MapboxNavigation
class DemoNavigationViewController: NavigationViewController {
override func viewDidLoad() {
super.viewDidLoad()
let mapVC = mapViewController
// Do any additional setup after loading the view.
}
}
这是 let mapVC 行上的错误:
'mapViewController' is inaccessible due to 'internal' protection level
我的最终目标是能够通过以下方式访问 FloatingStackView:
let navigationView = mapViewController.view as? NavigationView
let floatingStackView = navigationView.floatingStackView
如果我能获得对该 floatingStackView 的引用,我想我可以处理布局。
如何绕过is inaccessible due to 'internal' protection level
错误或找到另一种访问浮动堆栈视图的方法?
来自 NavigationView 类源代码