fui*_*iii 9 uinavigationbar uinavigationcontroller uinavigationitem ios swift
我正在尝试在控制器的导航栏中设置后退按钮图像,这是我在viewDidLoad()中的代码:
var backImg: UIImage? = UIImage(named: "back_btn.png")
println(backImg)
if var back_img = backImg {
println("GET IT")
println(back_img)
println(UIControlState.Normal)
println(UIBarMetrics.Default)
self.navigationController.navigationBar.backItem.backBarButtonItem.setBackButtonBackgroundImage(back_img, forState: UIControlState.Normal, barMetrics: UIBarMetrics.Default)
}
Run Code Online (Sandbox Code Playgroud)
我试图把它们放到viewWillLoad,但得到同样的错误
控制台显示错误消息:
<UIImage: 0x7ff37bd85750>
GET IT
<UIImage: 0x7ff37bd85750>
VSC14UIControlState (has 1 child)
(Enum Value)
fatal error: unexpectedly found nil while unwrapping an Optional value
Run Code Online (Sandbox Code Playgroud)
我不知道哪个部分出了问题.看起来像back_img不是零,但我得到错误说它是零
谢谢!
Sha*_*lam 21
在Swift 3.0 +appdelegate didFinishLaunchingWithOptions中将代码置于方法之下,它将完美地工作
let backImage = UIImage(named: "BackNavigation")?.withRenderingMode(.alwaysOriginal)
UINavigationBar.appearance().backIndicatorImage = backImage
UINavigationBar.appearance().backIndicatorTransitionMaskImage = backImage
UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment(UIOffsetMake(0, -80.0), for: .default)
Run Code Online (Sandbox Code Playgroud)
Navigation Back Button如果您不想删除标题,最后一行将删除标题,然后删除最后一行
Jar*_*aro 16
如果要更改每个控制器中的后退按钮,可以将其添加到didFinishLaunchingWithOptions中的app delegate
let backImg: UIImage = UIImage(named: "back_button")!
UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)
Run Code Online (Sandbox Code Playgroud)
fui*_*iii 12
我通过查看示例代码找到了答案.1)在故事板中创建一个条形按钮项.2)使用IBOutlet将该按钮链接到控制器3)将图像添加到按钮
var backImg: UIImage = UIImage(named: "back_btn")
backBtn.setBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)
Run Code Online (Sandbox Code Playgroud)
PS:图像应添加到Images.xcassets文件夹中,有关详细信息,请参阅示例代码UICatalog.
self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "back-icon")
self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "back-icon")
Run Code Online (Sandbox Code Playgroud)
//这是在默认导航栏中设置带有图像和操作的后退按钮的完美解决方案
首先在导航栏中添加 UIBarButton
然后转到情节提要中文件检查器中的属性并添加空间以隐藏后退按钮标题文本
在 Ui Bar 按钮图像中设置图像
/写点击动作方法/
要启用滑动弹出(返回到上一个控制器),请在 ViewDidLoad 方法中编写两行代码
您将获得带有滑动返回动画的完美后退按钮
//注意:- 要禁用后退按钮上一个视图控制器标题,请在故事板文件检查器中后退按钮的标题文本中添加一个空格