标题使用不明确 - Xcode 9 beta
Ambiguous use of title - Xcode 9 beta
Xcode 9 beta 编译器针对 navigationItem.title
和 self.navigationController?.navigationBar.topItem?.title
显示以下错误:
Ambiguous use of 'title'
这是我的代码:
self.title = BMLocalized("Select Number of Passengers")
navigationItem.title = navigationTitleString // here showing error
submitButton.setTitle(submitButtonTitle, for: .normal)
谁能帮忙解决这个问题?
随便用,
self.title = "title_name"
而不是两者,如果您同时使用两者,那么它将相互替换。
更新:
只需使用此代码:
navigationItem.titleLabel.text = "text"
旧答案:
这是因为您使用了扩展 UINavigationItem class 并重新实现 属性 title 的第三方库。所以,这个库与 UIKit 冲突。
解决方案:
只需使用
title
而不是
navigationItem.title
或者移除第三方库中UINavigationItem的扩展class。您可以在问题导航器中看到该库的名称:
对于MATERIAL解决方案是:
从 Material -> 核心 -> NavigationItem.swift 中删除这些行:
public var title: String? {
get {
return titleLabel.text
}
set(value) {
titleLabel.text = value
navigationItem.reload()
}
}
现在,除了修改源代码,你还可以使用这个:
navigationItem.titleLabel.text = "foo"
Xcode 9 beta 编译器针对 navigationItem.title
和 self.navigationController?.navigationBar.topItem?.title
显示以下错误:
Ambiguous use of 'title'
这是我的代码:
self.title = BMLocalized("Select Number of Passengers")
navigationItem.title = navigationTitleString // here showing error
submitButton.setTitle(submitButtonTitle, for: .normal)
谁能帮忙解决这个问题?
随便用,
self.title = "title_name"
而不是两者,如果您同时使用两者,那么它将相互替换。
更新:
只需使用此代码:
navigationItem.titleLabel.text = "text"
旧答案:
这是因为您使用了扩展 UINavigationItem class 并重新实现 属性 title 的第三方库。所以,这个库与 UIKit 冲突。
解决方案:
只需使用
title
而不是
navigationItem.title
或者移除第三方库中UINavigationItem的扩展class。您可以在问题导航器中看到该库的名称:
对于MATERIAL解决方案是:
从 Material -> 核心 -> NavigationItem.swift 中删除这些行:
public var title: String? {
get {
return titleLabel.text
}
set(value) {
titleLabel.text = value
navigationItem.reload()
}
}
现在,除了修改源代码,你还可以使用这个:
navigationItem.titleLabel.text = "foo"