我已经创建了自定义后退栏按钮。我添加了一个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,很难点击它。 我试图更改按钮区域,但它没有给出结果。
答案 0 :(得分:0)
您似乎为_button
或/和view
指定了错误的框架,这会更改点按区域。尝试为_backButton
和view
设置不同的背景颜色。这将显示帧是否在您期望的位置。
如果您尝试通过指定这些框架来调整图像位置 - 使用imageEdgeInsets
的属性(如titleEdgeInsets
和list.ForEach(Console.WriteLine);
更为正确。