我在xcode 7.3中使用swift 2.3。我有一个带有UITATION ViewController的UinavigationController。我正在尝试在NavigationBar中设置导航项目的标题视图,以创建一个以导航栏为中心的按钮。
Indextextbut是一个与故事板相连的Uibutton。我尝试仅创建一个新按钮,但没有可感知的差异。我目前这样做的方式在那里,因为它具有应有的行为,但没有图像。我尝试只是将标题字段设置为字符串,即使那样我也看不到。我使用:
设置了左右的barbuttoniTemsnavItem.setRightBarButtonItems(barButtonItems, animated: false)
navItemArray.append(navItemCatDet)
self.navigationController?.navigationBar.setItems(navItemArray, animated: false)
这是我的相关代码。我的最大问题是为什么我看不到将按钮设置为标题视图的图像。它具有预设的行为,当我单击应该的位置时,我会得到这种行为。我已经尝试调整UIBUTTON及其UIImageView的框架,以及UIImageView的图像的大小,但没有运气。我包括了aobut tinting the Background的行,即使我尝试过和不尝试。
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)
Swift 3.0
var indexNavItemArray = [UINavigationItem]()
var indexNavItem = UINavigationItem()
indexNavItem.titleView = indexTextBut
indexTextBut.setTitle("button", for: .normal)
indexNavItemArray.append(indexNavItem)
self.navigationController?.navigationBar.barTintColor = UIColor.lightGray
self.navigationController?.navigationBar.setItems(indexNavItemArray, animated: false)
将您的代码替换为上述。