Ios 我能用斯威夫特制造大的右巴布托币吗?

Ios 我能用斯威夫特制造大的右巴布托币吗?,ios,swift,uinavigationcontroller,uinavigationbar,uinavigationitem,Ios,Swift,Uinavigationcontroller,Uinavigationbar,Uinavigationitem,我拥有的: 是否可以使此添加与此标题完全相同? 类似这样的内容: 或者任何其他解决方案-标题左-按钮,图像右,高度相同?我在我的应用程序中做了类似的事情-不完全是你想要的,但应该给你足够的时间继续: func设置导航栏(){ 让rightButton=UIButton() rightButton.setTitle(“离开”,用于:。正常) rightButton.addTarget(self,action:#选择器(rightButtonTapped(button:)),for:.touch

我拥有的:

是否可以使此
添加
与此
标题
完全相同?
类似这样的内容:


或者任何其他解决方案-标题左-按钮,图像右,高度相同?

我在我的应用程序中做了类似的事情-不完全是你想要的,但应该给你足够的时间继续:

func设置导航栏(){
让rightButton=UIButton()
rightButton.setTitle(“离开”,用于:。正常)
rightButton.addTarget(self,action:#选择器(rightButtonTapped(button:)),for:.touchUpInside)
navigationController?.navigationBar.addSubview(右按钮)
rightButton.tag=97
rightButton.frame=CGRect(x:self.view.frame.width,y:0,width:120,height:20)
让targetView=self.navigationController?.navigationBar
让trailingConstraint=NSLayoutConstraint(项:rightButton,属性:
.trailingMargin,相关者:。相等,到项目:targetView,
属性:.trailingMargin,乘数:1.0,常数:-16)
让bottomConstraint=NSLayoutConstraint(项:rightButton,属性:.bottom,relatedBy:.equal,
toItem:targetView,属性:。底部,乘数:1.0,常数:-6)
rightButton.TranslatesAutoResizezingMaskintoConstraints=false
NSLayoutConstraint.activate([trailingConstraint,bottomConstraint])
}

我还创建了这个函数来删除它(因此上面使用了标记):

func按钮(){
guard let子视图=self.navigationController?.navigationBar.subviews else{
log.info(“尝试删除右按钮,但子视图不存在”)
返回
}
用于在子视图中查看{
如果view.tag==97{
view.removeFromSuperview()视图
}
}
}
请仔细阅读答案,该答案显示了当导航栏标题折叠或较大时如何管理导航栏标题。它不会给你一个确切的答案,但它肯定会帮助你实现你想要的

除此之外,请仔细阅读答案,这将有助于您了解如何为右栏按钮项提供x、y位置

简单概述一下如何通过结合这两个答案来实现您的目标:-

  • 根据要执行的导航栏的位置或高度设置右栏按钮项的位置。链接2将帮助您做到这一点
  • 观察导航栏当导航栏的高度增加或减少时,您可以更改右栏按钮项目的位置

  • 完成了。通过使用此选项,您可以管理栏按钮项目在项目中的位置。当导航栏当时被放大时,您可以在不同的位置显示按钮;当导航栏折叠时,您可以在不同的位置显示按钮,以便在更改按钮位置后,它不会与您的问题相反按钮。

    请记住,滚动时,大标题是动态的。将具有此类大小的左按钮放置在此处,并在导航栏后面阻止大量内容
    self.title = "Title"
    navigationController?.navigationBar.prefersLargeTitles = true
    self.navigationController?.navigationBar.largeTitleTextAttributes = [NSAttributedString.Key.foregroundColor : UIColor.white]
    navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Add", style: .plain, target: self, action: #selector(addTapped))
    navigationItem.rightBarButtonItem?.tintColor = .white