gpt4 book ai didi

iphone - 带有自定义 View 选择器的 UIBarButtonItem init 无法正常工作

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

我花了几个小时尝试让左键正常工作并模仿后退按钮。

我创建按钮的代码:

UIBarButtonItem *backButton = [self customBarButton:@"back_button" imageHiglighted:@"settings_button_highlighted" x:20 y:0 widthDivider:2.6 heightDivider:2.6];

backButton.target = self;
backButton.action = @selector(buttonPressed:);

self.navigationItem.leftBarButtonItem = backButton;

这里调用创建自定义按钮的方法:

- (UIBarButtonItem *)customBarButton:(NSString *)imageDefault imageHiglighted:(NSString *)imageHighlighted x:(float)x y:(float)y widthDivider:(float)widthDivider heightDivider:(float)heightDivider {

UIImage *customImageDefault = [UIImage imageNamed:imageDefault];
UIImage *customImageHighlighted = [UIImage imageNamed:imageHighlighted];

CGRect frameCustomButton = CGRectMake(x, y, customImageDefault.size.width/widthDivider, customImageDefault.size.height/heightDivider);

UIButton *customButton = [[UIButton alloc] initWithFrame:frameCustomButton];

[customButton setBackgroundImage:customImageDefault forState:UIControlStateNormal];
[customButton setBackgroundImage:customImageHighlighted forState:UIControlStateHighlighted];

UIBarButtonItem *barCustomButton =[[UIBarButtonItem alloc] initWithCustomView:customButton];

return barCustomButton;

}

以及 Action :

-(void)buttonPressed:(id) sender{

NSLog(@"Entered");
SearchViewController *ViewController = [[SearchViewController alloc] init];
[self.navigationController pushViewController:ViewController animated:YES];

}

因此,我能够使用简单的 UIButton 实现它,但不能使用 UIButtonBarItem,而且我真的不知道它发生了什么。

如果你能帮助我,我将不胜感激。

谢谢。

最佳答案

selector 添加到自定义 button,因为它是 bar buttom 的 view:

[customButton addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];

编辑:注意:UIBarButtonItemtargetaction 适用到自定义 View

关于iphone - 带有自定义 View 选择器的 UIBarButtonItem init 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12137345/

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