我想在swift的左侧显示一个图像.
我尝试添加导航栏按钮项并在那里设置图像.
问题是我必须使用一个非常小的图像才能很好地适应导航栏.但制作如此小的图像会导致像素化,特别是在较大的手机iPhone 6和6 Plus上.
有没有办法使用高质量的图像然后设置框架以适应导航栏的范围?
我的尝试:
var image = UIImage(named: "Harp.png")
image = image?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)
self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: image, style: UIBarButtonItemStyle.Plain, target: nil, action: nil)
self.navigationItem.leftBarButtonItem.frame = CGRectMake(0, 0, 53, 31)
//image.frame = CGRectMake(0, 0, 53, 31)
Run Code Online (Sandbox Code Playgroud)
我尝试先将帧放在图像上,然后放在条形按钮项上.但这是一个错误:
如果没有更多的上下文,表达的类型是不明确的.
我正在使用以下代码向我的导航控制器添加一个右栏按钮viewDidLoad:
var b = UIBarButtonItem(
image: UIImage(named: "settings"),
style: .plain,
target: self,
action: #selector(sayHello(sender:))
)
self.navigationItem.rightBarButtonItem = b
Run Code Online (Sandbox Code Playgroud)
我的settingspng 文件是白色的,但是当我运行应用程序时,我看到的是默认blue颜色。不管怎样,我想把它改成红色。我该怎么做?
我试过这个:
let navigationBarAppearnce = UINavigationBar.appearance()
navigationBarAppearnce.tintColor = UIColor.red
Run Code Online (Sandbox Code Playgroud)
但它没有用。这样做的正确方法是什么?
uinavigationcontroller uibarbuttonitem uibarbuttonitemstyle ios swift