San*_*ndy 2 iphone uinavigationbar uinavigationcontroller uinavigationitem ios
我已经使用下面的代码创建了一个自定义后退按钮,但可点击区域非常大,远远超出了图标本身.有谁知道如何设置可点击区域,或使其与图像大小相同?
谢谢
UIImage *buttonImage = [UIImage imageNamed:@"prefs"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:buttonImage forState:UIControlStateNormal];
button.frame = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height);
[button addTarget:self action: @selector(handleBackButton)
forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:button];
self.navigationItem.leftBarButtonItem = customBarItem;
Run Code Online (Sandbox Code Playgroud)
可点击区域显示为红色.

谢谢!
如果要阻止按钮以外的其他单击,则将自定义按钮添加到UIView,然后将该视图设置为barbuttonItem的自定义视图
你的代码将变成这样:
UIImage *buttonImage = [UIImage imageNamed:@"prefs"];
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setImage:buttonImage forState:UIControlStateNormal];
button.frame = CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height);
[button addTarget:self action: @selector(handleBackButton)
forControlEvents:UIControlEventTouchUpInside];
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, buttonImage.size.width, buttonImage.size.height)];
[view addSubview:button];
UIBarButtonItem *customBarItem = [[UIBarButtonItem alloc] initWithCustomView:view];
self.navigationItem.leftBarButtonItem = customBarItem;
Run Code Online (Sandbox Code Playgroud)
这应该适用于我.
| 归档时间: |
|
| 查看次数: |
2005 次 |
| 最近记录: |