单击栏按钮项目很难

时间:2016-02-11 14:22:10

标签: ios objective-c

我已经创建了自定义后退栏按钮。我添加了一个UIview,因为我必须在bar中改变它的位置。

UIImage *backButtonImage = [UIImage imageNamed:@"backBtnWhite"];

_backButton = [UIButton buttonWithType:UIButtonTypeCustom];
_backButton.exclusiveTouch = YES;
[_backButton setImage:backButtonImage forState:UIControlStateNormal];
[_backButton setImage:backButtonImage forState:UIControlStateHighlighted];
[_backButton addTarget:self action:@selector(back) forControlEvents:UIControlEventTouchUpInside];
_backButton.frame = CGRectMake(-4.0, 7.0, 40, 40);

UIView * view = [[UIView alloc] initWithFrame:CGRectMake(-4.0, 7.0, backButtonImage.size.width, backButtonImage.size.height)];
[view addSubview:_backButton];

UIBarButtonItem* barButtonItem = [[UIBarButtonItem alloc] initWithCustomView:view];
self.navigationItem.rightBarButtonItem = barButtonItem;

但在那之后我添加了UIView,很难点击它。 我试图更改按钮区域,但它没有给出结果。

1 个答案:

答案 0 :(得分:0)

您似乎为_button或/和view指定了错误的框架,这会更改点按区域。尝试为_backButtonview设置不同的背景颜色。这将显示帧是否在您期望的位置。

如果您尝试通过指定这些框架来调整图像位置 - 使用imageEdgeInsets的属性(如titleEdgeInsetslist.ForEach(Console.WriteLine); 更为正确。