我在集合视图控制器中添加了左导航后退按钮和代码。
//Add Navigation Bar
navbar.autoresizingMask = [.flexibleWidth, .flexibleBottomMargin, .flexibleRightMargin]
navbar.delegate = self
UINavigationBar.appearance().barTintColor = UIColor(red: 0.0/255.0, green:49.0/255.0, blue:79.0/255.0, alpha:0.1)
UINavigationBar.appearance().tintColor = UIColor.white
UINavigationBar.appearance().isTranslucent = true
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName : UIColor.white]
navItem.title = prefs.value(forKey: "PROVIDER_NAME") as! String?
let image = UIImage(named: "back_image")
navItem.leftBarButtonItem = UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(addTapped))
navItem.leftBarButtonItem?.imageInsets = UIEdgeInsetsMake(0, 0, 0, 0)
后退按钮靠近左侧。我想从左边添加大约10px的填充。
所以,我把代码改为了
navItem.leftBarButtonItem?.imageInsets = UIEdgeInsetsMake(0, 15, 0, 0)
但它不起作用,图像后退按钮看起来更小。如何在后退按钮的左侧添加空格?
答案 0 :(得分:2)
我建议您使用简单UINavigationBar
替换UIView
。这样您就可以完全控制导航栏的布局。它不会只是一个透明的UIView
,里面有一个后退按钮和一个标题标签。就这么简单。
真正的UINavigationBar
不止于此。它意味着管理一堆UINavigationItem
个对象。它调整自身取决于当前项目,并知道如何进行从一个状态到另一个状态的动画(甚至交互式)过渡。这就是为什么你不能改变酒吧的外观。您不应将其视为常规视图。
<强>更新强>
实现这一目标的另一种方法有点棘手。您可以从故事板中完全实现它,而且不需要外观混乱。