Ios 自定义后退按钮出现在UIImagePickerController上
我使用以下代码在整个应用程序中自定义导航栏上的“后退”按钮:Ios 自定义后退按钮出现在UIImagePickerController上,ios,uinavigationbar,back-button,uiappearance,Ios,Uinavigationbar,Back Button,Uiappearance,我使用以下代码在整个应用程序中自定义导航栏上的“后退”按钮: UIImage *backButton = [[UIImage imageNamed:@"backButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)]; UIImage *backButtonOn = [[UIImage imageNamed:@"backButton_on"] resizableImageWithCapInsets:UIEdgeInset
UIImage *backButton = [[UIImage imageNamed:@"backButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
UIImage *backButtonOn = [[UIImage imageNamed:@"backButton_on"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButton
forState:UIControlStateNormal
barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonOn
forState:UIControlStateHighlighted
barMetrics:UIBarMetricsDefault];
它工作得很好,除了当我展示UIImagePickerController并在照片库中输入相册时,“后退”按钮也是自定义的后退按钮。如何在图像选择器中恢复原始的“后退”按钮?尝试使用以下方法:
[[UINavigationBar appearanceWhenContainedIn:[YourClassThatsNotAUIImagePicker class], nil] setBackButtonBackgroundImage:someOtherImage forBarMetrics:UIBarMetricsDefault];
这应该将外观设置限制为仅列出的类,因此不使用UIImagePickerController
[[UIBarButtonItem appearanceWhenContainedIn:[UIImagePickerController class], nil] setBackButtonBackgroundImage:[UIImage imageNamed:@"blank-button"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
这是swift和ios9的正确方法(上面的答案如下)--
2.如果要修改UINavigationBar的BackIndicationImage
UINavigationBar.appearanceWhenContainedInInstancesOfClasses([UIImagePickerController.self]).backIndicatorImage = UIImage(named: "backButton")//or nil
3.如果要修改BackIndicator TransitionMaskimage
UINavigationBar.appearanceWhenContainedInInstancesOfClasses([UIImagePickerController.self]).backIndicatorTransitionMaskImage =UIImage(named: "backButton")// nil
我通过创建一个自定义的UINavigationBar子类解决了这个问题,并在导航控制器中使用了它。然后我使用了建议的
[UINavigationBar appearancewhen-containedin:[MyNavigationBar class],nil]
方法。这样,我只需添加我的导航栏类。这是一个快速的解决方案,谢谢。这里绝对是最好的答案。UIAvigationBar
包含在UIImagePickerController
中时外观不工作<代码>UIBarButtonItem工作正常。
UINavigationBar.appearanceWhenContainedInInstancesOfClasses([UIImagePickerController.self]).backIndicatorTransitionMaskImage =UIImage(named: "backButton")// nil