我在 Xcode 7.3 中使用 Swift 2.3。我有一个带有 UITableViewController 的 UINavigationController。我正在尝试在导航栏中设置导航项的titleView,以创建一个以导航栏为中心的按钮。
indexTextBut 是从故事板连接的 UIButton。我试过只创建一个新按钮,但没有明显的区别。我目前这样做的方式是按钮在那里,因为它具有应有的行为但没有图像。我尝试将标题字段设置为字符串,即使那样我什么也看不到。我使用以下方法设置左右 barButtonItems:
navItem.setRightBarButtonItems(barButtonItems, animated: false)
navItemArray.append(navItemCatDet)
self.navigationController?.navigationBar.setItems(navItemArray, animated: false)
这是我的相关代码。我的大问题是为什么我看不到设置为 titleView 的按钮图像。它具有预设行为,当我单击它应该在的位置时,我会得到该行为。我尝试调整 UIButton 及其 UIImageView 的框架,以及 UIImageView 图像的大小,但没有运气。我包括了对背景进行着色的线 aobut 以防万一它是相关的,即使我已经尝试过使用和不使用它。
class MyTableViewController: UITableViewController, UITextFieldDelegate {
@IBOutlet weak var indexTextBut: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
var indexNavItemArray = [UINavigationItem]()
var indexNavItem = UINavigationItem()
indexNavItem.titleView = newButton
indexNavItemArray.append(indexNavItem)
self.navigationController?.navigationBar.barTintColor = UIColor(netHex:0xe63246)
self.navigationController?.navigationBar.setItems(indexNavItemArray, animated: false)