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位置
简单概述一下如何通过结合这两个答案来实现您的目标:-
完成了。通过使用此选项,您可以管理栏按钮项目在项目中的位置。当导航栏当时被放大时,您可以在不同的位置显示按钮;当导航栏折叠时,您可以在不同的位置显示按钮,以便在更改按钮位置后,它不会与您的问题相反按钮。请记住,滚动时,大标题是动态的。将具有此类大小的左按钮放置在此处,并在导航栏后面阻止大量内容
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