iOS7 UIImagePickerController取消按钮消失

时间:2013-09-22 07:51:28

标签: uiimagepickercontroller ios7

取消按钮错过了?!我怎样才能解决这个问题?非常感谢你。

    if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypePhotoLibrary])
    {
        if(buttonIndex == 1)
        {
            self.ctr = [[UIImagePickerController alloc] init];
            self.ctr.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
            self.ctr.delegate = self;
            self.ctr.allowsEditing = YES;
            [self presentModalViewController:self.ctr animated:YES];
        }

    }

enter image description here

3 个答案:

答案 0 :(得分:3)

只需更改UIImagePickerController navigationBar.tintColor,就可以了。

self.ctr.navigationBar.tintColor = [UIColor redColor];//Cancel button text color
[self.ctr.navigationBar setTitleTextAttributes:@{UITextAttributeTextColor: [UIColor blackColor]}];// title color

enter image description here

答案 1 :(得分:0)

看起来苹果犯了一些错误(iOS 10,Xcode 8),因为在控制器没有topItem属性或{{1}之前,只能更改UIImagePickerController的色调颜色,导致属性。所以在navigationController进行了更改。但我在这些覆盖的方法中检查了UIImagePickerController extensionnavigationControllertopItemviewDidLoadviewWillAppear。但它仍然是viewDidAppear。所以我决定在nil检查一下,瞧!这不是零,所以我们可以在这里设置精确rightBarButtomItem的条形色调颜色!

以下是示例:

viewWillLayoutSubviews

Exampel on simulator (but it tested on )

不要忘记致电 extension UIImagePickerController { open override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() self.navigationBar.topItem?.rightBarButtonItem?.tintColor = UIColor.black self.navigationBar.topItem?.rightBarButtonItem?.isEnabled = true } } ,这非常重要;-) 编辑:但返回相册屏幕时仍然有问题..

答案 2 :(得分:0)

更改tintColor

self.navigationBar.topItem?.rightBarButtonItem?.tintColor = UIColor.black 

如果这不起作用,请通过视图控制器查看是否没有更改导航栏外观并重置更改的位置。