我试图在导航栏的标题视图中设置一个图像,但无论我使用哪种内容模式,图像都很大,超出了导航栏的范围。我使用下面的代码(在viewDidLoad中)将图像设置为条形图:
let banner = UIImage(named: "banner.png")
let bannerView = UIImageView(image:banner)
bannerView.contentMode = UIViewContentMode.ScaleAspectFit
self.navigationItem.titleView = bannerView
使用ScaleAspectFill也有类似的结果。有没有办法缩小图像的大小?我真的很想避免使用图片编辑器。
发布于 2019-06-12 03:40:09
在对这个问题进行了很长一段时间的搜索之后,我尝试修改约束条件,它起作用了。我希望它能帮上忙
let banner = UIImage(named: "banner.png")
let bannerView = UIImageView(image:banner)
bannerView.contentMode = UIViewContentMode.ScaleAspectFit
self.navigationItem.titleView = bannerView
NSLayoutConstraint.activate([self.navigationItem.titleView!.heightAnchor.constraint(equalToConstant: 22),self.navigationItem.titleView!.widthAnchor.constraint(equalToConstant: 128)])
发布于 2015-09-19 22:52:44
看看这个例子:
let imageView = UIImageView(frame: CGRectMake(0, 0, 40, 40))
imageView.contentMode = .ScaleAspectFit
imageView.image = UIImage(named: "logo")
self.navigationItem.titleView = imageView
您可以在此处找到一些web参考http://www.ioscreator.com/tutorials/customizing-navigation-bar-ios8-swift
你也可以遇到一些图像缩放的问题,例如iPad2 -然后在SO Resizing image for icons for iPad2 - swift上查看我的问题
https://stackoverflow.com/questions/32513505
复制相似问题