如何解决ToolBar View Controller父类无法正确显示
因此,我制作了一个包含ToolBar功能的View Controller。出于某种原因,当我将其他View Controller设为ToolBar View Controller的子类时,我的ToolBar不会显示正确的颜色和来自ToolBar View Controller的按钮。它可用于其他View Controller,所以我有些困惑。
import Foundation
import UIKit
class Toolbar: UIViewController {
var playBtn = UIBarButtonItem()
var pauseBtn = UIBarButtonItem()
override func viewDidLoad()
{
super.viewDidLoad()
navigationController?.setToolbarHidden(false,animated: false)
navigationController?.toolbar.barTintColor = UIColor.darkGray
navigationController?.toolbar.isTranslucent = false
self.extendedLayoutIncludesOpaqueBars = true
self.playBtn = UIBarButtonItem(barButtonSystemItem: .play,target: self,action: #selector(playBtnAction(sender:)))
self.pauseBtn = UIBarButtonItem(barButtonSystemItem: .pause,action: #selector(pauseBtnAction(sender:)))
playBtn.tintColor = UIColor.white
pauseBtn.tintColor = UIColor.white
toolbaritems = [playBtn,pauseBtn]
view.isUserInteractionEnabled = true
self.navigationController?.toolbar.isUserInteractionEnabled = true
}
}
import Foundation
import UIKit
class TestVC: Toolbar {
override func viewDidLoad() {
self.navigationController?.isNavigationBarHidden = false
self.navigationController?.isToolbarHidden = false
}
}
解决方法
问题是您忘记了致电super
:
override func viewDidLoad() {
super.viewDidLoad() // <-- add this
self.navigationController?.isNavigationBarHidden = false
self.navigationController?.isToolbarHidden = false
}
因此, 始终调用super
中的viewDidLoad
。超类可能有工作要做,并且如果您不致电super
,它将无法完成工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。