gpt4 book ai didi

ios - 自定义 UIBarButtonItem

转载 作者:可可西里 更新时间:2023-11-01 03:23:11 27 4
gpt4 key购买 nike

我正在尝试创建一个自定义 UIBarbuttonItem,它仅使用具有透明度的 png,这样我只有一个图标作为按钮。当我尝试设置按钮图像,将背景设置为白色,并将样式设置为 Plain 时,我仍然会在其周围看到内部阴影和黑色边框。

什么给了?

enter image description here

我已经尝试了下面的代码,它仍然在它周围放置了黑色边框。

UIImage *background = [UIImage imageNamed:@"Dismiss_normal.png"];
UIImage *backgroundSelected = [UIImage imageNamed:@"Dismiss_selected.png"];
self.closeButton = [UIButton buttonWithType:UIButtonTypeCustom];
[self.closeButton addTarget:self action:@selector(closeButtonPressed:) forControlEvents:UIControlEventTouchUpInside]; //adding action
[self.closeButton setBackgroundImage:background forState:UIControlStateNormal];
[self.closeButton setBackgroundImage:backgroundSelected forState:UIControlStateSelected];
self.closeButton.frame = CGRectMake(0 ,0,background.size.width, background.size.height);
self.closeButtonItem = [[UIBarButtonItem alloc] initWithCustomView:self.closeButton];
self.navigationItem.leftBarButtonItem = self.closeButtonItem;

我注意到,如果我对按钮进行模态转换,上面的代码周围仍然有黑色边框,但是如果我进行推送转换,它就没有了吗?什么鬼?

最佳答案

您必须将按钮类型设置为自定义,并将图标图像设置为按钮背景。示例代码:

UIImage *background = [UIImage imageNamed:@"icon.png"];
UIImage *backgroundSelected = [UIImage imageNamed:@"icon_selected.png"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(checkButtonTapped:event:) forControlEvents:UIControlEventTouchUpInside]; //adding action
[button setBackgroundImage:background forState:UIControlStateNormal];
[button setBackgroundImage:backgroundSelected forState:UIControlStateSelected];
button.frame = CGRectMake(0 ,0,35,35);

然后像这样将此按钮设置为您的 BarButtonItem:

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:button];
self.navigationItem.leftBarButtonItem = barButton;

关于ios - 自定义 UIBarButtonItem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16976480/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com