[英]UINavigationBar - prefersLargeTitles - How to set image to the left of the title?
[英]Set an image as a title in UINavigationBar in swift 4
我為導航欄使用以下代碼,該代碼為標題設置單詞Title,但希望它成為我的徽標。
navigationbar = UINavigationBar(frame: CGRect(x: 0, y: 20, width: self.view.bounds.width, height: 44));
navigationbar.barTintColor = UIColor(red: 247/255, green: 247/255, blue: 247/255, alpha: 1.0);
let title = UINavigationItem(title: "Title");
navigationbar.setItems([title], animated: false);
self.view.addSubview(navigationbar);
如果我想要方形徽標,@ 1x,@ 2x和@ 3x的像素大小也應該是多少? 徽標也是我的應用程序圖標。
不能完全確定這是否是您要實現的目標,但是已經有了一些建議。
這是一個受歡迎的:
let logo = UIImage(named: "logo") // Or logo.png if you haven't added it to assets
let imageView = UIImageView(frame: CGRect(x:0, y:0, width:50.0, height:50.0))
imageView.image = logo
imageView.contentMode = .scaleAspectFit
self.navigationItem.titleView = imageView
或者可以使用此方法:
func addNavBarImage() {
let navController = navigationController!
let image = UIImage(named: "logo.png") //Your logo url here
let imageView = UIImageView(image: image)
let bannerWidth = navController.navigationBar.frame.size.width
let bannerHeight = navController.navigationBar.frame.size.height
let bannerX = bannerWidth / 2 - (image?.size.width)! / 2
let bannerY = bannerHeight / 2 - (image?.size.height)! / 2
imageView.frame = CGRect(x: bannerX, y: bannerY, width: bannerWidth, height: bannerHeight)
imageView.contentMode = .scaleAspectFit
navigationItem.titleView = imageView
}
回答這個問題 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.