导航控制器工具栏大小和位置 - iOS Swift
Navigation Controller Toolbar Size & Location - iOS Swift
您好,我目前正在 Swift 3 中开发一个应用程序。我在 table 视图控制器中遇到问题,该视图控制器嵌入在导航控制器中。我目前正在显示 navigationController 工具栏。但是在初始 table 视图控制器上,我将导航栏设置为隐藏。这导致工具栏被调整大小和重新定位。
有谁知道我怎样才能按照下面这行代码重新载入工具栏:(这个调用在视图中会出现)
self.navigationController?.toolbar.frame = CGRect(x: 0, y: UIScreen.main.bounds.height-80, width: self.view.frame.size.width, height: 80)
使用以下方法隐藏导航栏后,我找不到如何调整工具栏的大小:(这在视图中调用确实出现了)
self.navigationController?.setNavigationBarHidden(true, animated: true)
您无法直接调整 toolbar
的大小:
但是你可以在你的项目中继承UIToolbar
:
import UIKit
class CustomToolbar: UIToolbar {
override func sizeThatFits(_ size: CGSize) -> CGSize {
var newSize: CGSize = super.sizeThatFits(size)
newSize.height = 80 // there to set your toolbar height
return newSize
}
}
在storyboard
中:
结果,工具栏高度为80:
请注意,根据 this post,此解决方案不再适用于 iOS 11 / swift 4。我正在积极寻找解决方法。
您好,我目前正在 Swift 3 中开发一个应用程序。我在 table 视图控制器中遇到问题,该视图控制器嵌入在导航控制器中。我目前正在显示 navigationController 工具栏。但是在初始 table 视图控制器上,我将导航栏设置为隐藏。这导致工具栏被调整大小和重新定位。
有谁知道我怎样才能按照下面这行代码重新载入工具栏:(这个调用在视图中会出现)
self.navigationController?.toolbar.frame = CGRect(x: 0, y: UIScreen.main.bounds.height-80, width: self.view.frame.size.width, height: 80)
使用以下方法隐藏导航栏后,我找不到如何调整工具栏的大小:(这在视图中调用确实出现了)
self.navigationController?.setNavigationBarHidden(true, animated: true)
您无法直接调整 toolbar
的大小:
但是你可以在你的项目中继承UIToolbar
:
import UIKit
class CustomToolbar: UIToolbar {
override func sizeThatFits(_ size: CGSize) -> CGSize {
var newSize: CGSize = super.sizeThatFits(size)
newSize.height = 80 // there to set your toolbar height
return newSize
}
}
在storyboard
中:
结果,工具栏高度为80:
请注意,根据 this post,此解决方案不再适用于 iOS 11 / swift 4。我正在积极寻找解决方法。