为什么导航栏中没有显示标题? Swift 3
Why is title not showing in Navigation bar? Swift 3
DetailViewController
和 RootController1
中的标题不显示。此外,当在 DetailViewController
中按下后退按钮时,它会弹出到 RearTV
而不是弹出到 RootController1
。谁能告诉我如何自定义 UIViewControllers 上显示的导航栏的标题?
初始ViewController类型为SWRevealViewController
从 SWRevealViewController 到 NavigationController
的自定义转场
从 Navigation Controller 到 RearTV(一个包含多个按钮的静态单元格的 UITableViewController)有 "root view controller to RearTV"
[=56= 的关系]
从 RearTV 上的按钮到 VC2(一个 UIViewController 上面有一个嵌入容器视图)有 "Show" 到 VC2
从 VC2 中的容器视图有一个 Embed Segue 到 "Split View Controller"
5.1 从split view controller到Navigation Controller(右边那个)有"master view controller to Navigation Controller"
的关系
5.1.2 从 Navigation Controller(右边那个)到根控制器有 "root view controller to Root Controller1"
的关系
5.1.3 从根控制器(名为 "Root Controller1")到导航控制器("the one underneath) there is a segue "showDetail1 到导航控制器
5.2 从拆分视图控制器到导航控制器("the one underneath) there is a relationship "详细视图控制器到导航控制器”
- 从导航控制器("the one underneath) to Detail View Controller there is a segue "根视图控制器到详细视图控制器”。
在 RootController1 和 Detail 中ViewController我试图显示一个标题,但它什么也没显示。
//centers the title of the navigation bar in all view controllers
struct CustomNavBar {
static func center(title: String) -> UILabel {
let titleLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
titleLabel.text = title
titleLabel.adjustsFontSizeToFitWidth = true
titleLabel.textAlignment = NSTextAlignment.center
return titleLabel
}
}
override func viewDidLoad() {
super.viewDidLoad()
//attempt 1 to customize title of navigation bar
self.navigationController?.navigationItem.titleView = CustomNavBar.center(title: "some title")
//attempt 2 to customize title of navigation bar
self.navigationItem.titleView = CustomNavBar.center(title: "some title")
}
//第一张图片
//第二张图片
//第三张图片
尝试在您的视图控制器中输入以下内容:
self.navigationController?.navigationBar.topItem?.titleView = CustomNavBar.left(title: "some title")
相对于:
self.navigationController?.navigationItem.titleView = CustomNavBar.center(title: "some title")
这仅在我将结构包含在控制器中时有效。
DetailViewController
和 RootController1
中的标题不显示。此外,当在 DetailViewController
中按下后退按钮时,它会弹出到 RearTV
而不是弹出到 RootController1
。谁能告诉我如何自定义 UIViewControllers 上显示的导航栏的标题?
初始ViewController类型为SWRevealViewController
从 SWRevealViewController 到 NavigationController
的自定义转场
从 Navigation Controller 到 RearTV(一个包含多个按钮的静态单元格的 UITableViewController)有 "root view controller to RearTV"
[=56= 的关系]从 RearTV 上的按钮到 VC2(一个 UIViewController 上面有一个嵌入容器视图)有 "Show" 到 VC2
从 VC2 中的容器视图有一个 Embed Segue 到 "Split View Controller"
5.1 从split view controller到Navigation Controller(右边那个)有"master view controller to Navigation Controller"
的关系5.1.2 从 Navigation Controller(右边那个)到根控制器有 "root view controller to Root Controller1"
的关系5.1.3 从根控制器(名为 "Root Controller1")到导航控制器("the one underneath) there is a segue "showDetail1 到导航控制器
5.2 从拆分视图控制器到导航控制器("the one underneath) there is a relationship "详细视图控制器到导航控制器”
- 从导航控制器("the one underneath) to Detail View Controller there is a segue "根视图控制器到详细视图控制器”。
在 RootController1 和 Detail 中ViewController我试图显示一个标题,但它什么也没显示。
//centers the title of the navigation bar in all view controllers
struct CustomNavBar {
static func center(title: String) -> UILabel {
let titleLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 40, height: 40))
titleLabel.text = title
titleLabel.adjustsFontSizeToFitWidth = true
titleLabel.textAlignment = NSTextAlignment.center
return titleLabel
}
}
override func viewDidLoad() {
super.viewDidLoad()
//attempt 1 to customize title of navigation bar
self.navigationController?.navigationItem.titleView = CustomNavBar.center(title: "some title")
//attempt 2 to customize title of navigation bar
self.navigationItem.titleView = CustomNavBar.center(title: "some title")
}
//第一张图片
//第二张图片
//第三张图片
尝试在您的视图控制器中输入以下内容:
self.navigationController?.navigationBar.topItem?.titleView = CustomNavBar.left(title: "some title")
相对于:
self.navigationController?.navigationItem.titleView = CustomNavBar.center(title: "some title")
这仅在我将结构包含在控制器中时有效。