我已更新到Xcode 9,并且我的titleView
中有NavigationItem
以这种方式创建:
let logo = UIImageView(frame: CGRect(x: 0, y: 0, width: 70, height: 25))
logo.image = UIImage.logo
logo.contentMode = .scaleAspectFit
self.navigationItem.titleView = logo
结果是它不再考虑帧高。
答案 0 :(得分:2)
我们可以控制UINavigationbar titleview的大小和位置。不要直接将imageview设置为titleview。在这里创建一个自定义UIView,然后将框架设置为您需要的框架,并将徽标添加为其子视图
喜欢
let supportVie = UIView(frame: CGRect(x: 0, y: 0, width: 70, height: 25))
// Here you can set View width and height as per your requirement for displaying supportVie position in navigationbar
//supportVie.backgroundColor = UIColor.red
let logo = UIImageView(image: UIImage.logo ) //UIImage(named: "SelectAnAlbumTitleLettering")
logo.frame = CGRect(x: 45, y: 5, width: supportVie.frame.size.width, height: supportVie.frame.size.height)
// customize the origin as (45,5) but can pass them as your requirement.
supportVie.addSubview(logo)
//supportVie.contentMode = .center;
navigationItem.titleView = supportVie