【问题标题】:iOS Change background image of navigation bar cancel buttoniOS更改导航栏取消按钮的背景图片
【发布时间】:2013-09-10 00:21:07
【问题描述】:

我有一个从相机胶卷中拉出的 UIImagePickerController。

在导航栏中,有一个默认的UIBarButtonItem取消选择一张照片,但是和我的Application完全不匹配!

如何更改它的外观甚至隐藏它,然后将我自己的按钮放在导航栏中的位置?

这很容易用返回按钮完成,如下所示:

// Change the appearance of back button
UIImage *backButtonImage = [[UIImage imageNamed:@"back_button.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(20, 10, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonImage forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

UIBarButtonItem 似乎没有 setCancelButtonBackgroundImage 方法。

【问题讨论】:

    标签: ios uinavigationcontroller uibarbuttonitem


    【解决方案1】:

    这个怎么样:

    UIImage * cancelButtonImage = [UIImage imageNamed:@"cancel_button.png"];
    UIButton * cancelButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [cancelButton setFrame:(CGRect){CGPointZero, hamburgerImage.size}];
    [cancelButton setImage:cancelButtonImage forState:UIControlStateNormal];
    [cancelButton addTarget:self
                     action:@selector(cancel:)
           forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem * cancelButtonItem = [[UIBarButtonItem alloc] initWithCustomView:cancelButton];
    [self.navigationItem setLeftBarButtonItem:cancelButtonItem];
    

    【讨论】:

    • 我想如果我将 UIImagePickerController 子类化的话那会起作用。我必须把它作为右栏按钮项目(这是取消按钮显示在 ImagePickerController 上的位置)。让我试一试,看看它是否有效!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 1970-01-01
    • 2013-08-16
    相关资源
    最近更新 更多