Ios 中间出现的右栏项目
RightBarButtonim未显示在导航栏的右侧。我希望导航栏与“应用商店”中的导航栏相似 我在故事板和代码中尝试过这样做,设置图像内容模式,剪裁到边界,并给它一个框架 我也一直在网上寻找解决方案,但没有一个适合我。任何帮助或建议都将不胜感激,谢谢 以下是一些屏幕截图:Ios 中间出现的右栏项目,ios,swift,xcode,uinavigationitem,Ios,Swift,Xcode,Uinavigationitem,RightBarButtonim未显示在导航栏的右侧。我希望导航栏与“应用商店”中的导航栏相似 我在故事板和代码中尝试过这样做,设置图像内容模式,剪裁到边界,并给它一个框架 我也一直在网上寻找解决方案,但没有一个适合我。任何帮助或建议都将不胜感激,谢谢 以下是一些屏幕截图: 添加userimage属性,使其可在ViewController中访问 将makeRound()函数调用添加到viewWillLayoutSubviews() 更新makeRound()函数以生成一个圆 添加方法以添加必要
userimage
属性,使其可在ViewController中访问makeRound()
函数调用添加到viewWillLayoutSubviews()
viewDidLoad()
userimage
属性,使其可在ViewController中访问makeRound()
函数调用添加到viewWillLayoutSubviews()
viewDidLoad()
当我为我的
uibarbuttoneim
使用一个非常大的图像时,我遇到了同样的问题
一旦我将图像调整到较小的尺寸,它就被适当地放置在导航栏的右侧。看起来你也有同样的问题
或者,由于从iOS 11开始,导航栏使用自动布局,因此替换行
userimage.frame = CGRect(x: 60, y: 0, width: 50, height: 50)
使用下面的方法也可以做到这一点:
userimage.widthAnchor.constraint(equalToConstant: 50).isActive = true
userimage.heightAnchor.constraint(equalToConstant: 50).isActive = true
当我为我的
uibarbuttoneim
使用一个非常大的图像时,我遇到了同样的问题
一旦我将图像调整到较小的尺寸,它就被适当地放置在导航栏的右侧。看起来你也有同样的问题
或者,由于从iOS 11开始,导航栏使用自动布局,因此替换行
userimage.frame = CGRect(x: 60, y: 0, width: 50, height: 50)
使用下面的方法也可以做到这一点:
userimage.widthAnchor.constraint(equalToConstant: 50).isActive = true
userimage.heightAnchor.constraint(equalToConstant: 50).isActive = true
您想分享当前对此问题的看法吗?@FaysalAhmed您的意思是什么?这是项目中唯一的视图。默认viewcontrollerThanks,但这也不起作用@FaysalAhmed。是否要共享此问题的当前视图?@FaysalAhmed您的意思是什么?这是项目中唯一的视图。默认的viewcontrollerThanks,但是@FaysalAhmed也不起作用。
func setupConstraints() {
navigationItem.searchController = searchController
navigationItem.hidesSearchBarWhenScrolling = false
guard let navigationBar = self.navigationController?.navigationBar else { return }
navigationBar.addSubview(userimage)
userimage.clipsToBounds = true
userimage.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
userimage.rightAnchor.constraint(equalTo: navigationBar.rightAnchor, constant: -16),
userimage.bottomAnchor.constraint(equalTo: navigationBar.bottomAnchor, constant: -12),
userimage.heightAnchor.constraint(equalToConstant: 40),
userimage.widthAnchor.constraint(equalTo: userimage.heightAnchor)
])
}
func setUpGestureRecognizer() {
let tapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(profile))
userimage.isUserInteractionEnabled = true
userimage.addGestureRecognizer(tapGestureRecognizer)
}
@objc func profile() {
// Your implementation
}
override func viewDidLoad() {
super.viewDidLoad()
// Setup constraints
setupConstraints()
setUpGestureRecognizer()
}
userimage.frame = CGRect(x: 60, y: 0, width: 50, height: 50)
userimage.widthAnchor.constraint(equalToConstant: 50).isActive = true
userimage.heightAnchor.constraint(equalToConstant: 50).isActive = true