迅速:在导航栏中设置后退button图像
我想在我的控制器的导航栏中设置后退button图像,这里是我在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) }
我试图把他们viewWillLoad,但得到相同的错误
有错误信息的控制台:
<UIImage: 0x7ff37bd85750> GET IT <UIImage: 0x7ff37bd85750> VSC14UIControlState (has 1 child) (Enum Value) fatal error: unexpectedly found nil while unwrapping an Optional value
我不知道哪个部分出了问题。 似乎back_img不是零,但我得到错误说这是零
谢谢!
如果您想更改每个控制器中的后退button,可以将其添加到didFinishLaunchingWithOptions中的应用程序委托
let backImg: UIImage = UIImage(named: "back_button")! UIBarButtonItem.appearance().setBackButtonBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)
我已经通过查看示例代码来弄清楚了。 1)在故事板中创build一个栏button项目。 2)使用IBOutlet将该button链接到控制器3)将图像添加到button
var backImg: UIImage = UIImage(named: "back_btn") backBtn.setBackgroundImage(backImg, forState: .Normal, barMetrics: .Default)
PS:应该将图像添加到Images.xcassets文件夹中,详细信息请参阅示例代码UICatalog 。
在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)
最后一行将删除Navigation Back Button
的标题,如果你不想删除标题,然后只删除最后一行
self.navigationController?.navigationBar.backIndicatorImage = UIImage(named: "back-icon") self.navigationController?.navigationBar.backIndicatorTransitionMaskImage = UIImage(named: "back-icon")
//这里是完美的解决scheme在默认导航栏中设置图像和动作button
首先在导航栏中添加UIBarButton
然后转到故事板中文件检查器中的属性,并添加空间来隐藏button标题文本
在Ui Barbutton图像中设置图像
/ 点击操作方法 /
要启用滑动以popup(返回到前一个控制器),请在ViewDidLoad方法中写入两行代码
你将得到完美的后退button与滑动回到animation
//注意: – 要禁用前一个viewcontroller标题的后退button,在storyboard文件检查器的后退button的标题文本中添加一个空格
另一种方法:单击故事板中的导航控制器(而不是UIViewController本身的导航控制器)。 然后,在RHS的属性部分,你会看到图像和背面蒙版。 设置后面的图像,你就完成了。
- 尽管滚动,UICollectionView indexPathForItemAtPoint返回相同的项目
- 捕捉照片时切换AVCaptureSession预设
- iOS AppStore上的CCATS和encryption
- Xcode:为什么我的计时器在每次打勾时计数2秒?
- NSMutableAttributedString的属性NSStrikethroughStyleAttributeName在iOS8中无法正常工作
- iOSbutton到uiwebview的网页
- 通过丢失的连接xmpp丢失消息
- 您好,Safari 11上的WebRTC
- 在故事板中以编程方式创build的自定义tableviewCells for UITableView