有没有办法让UIBarButtonItem的可点击区域为44x44?

时间:2012-03-14 16:38:44

标签: iphone objective-c ios ipad

根据HIG,可点击按钮的大小应为44x44。现在我有以下内容:

UIButton * stop = [UIButton buttonWithType:UIButtonTypeCustom];

        [stop setSize:CGSizeMake(15, 18)];


    [stop setBackgroundImage:[UIImage imageNamed:@"stop-gray.png"] forState:UIControlStateNormal];
    [stop addTarget:self action:@selector(stopPage:) forControlEvents:UIControlEventTouchUpInside];
    stopButton_ = [[UIBarButtonItem alloc] initWithCustomView:stop];

UIBarButtonItem将被放入iphone的UIToolbar中。当你注意到图像的大小小于15,18。有没有办法让UIBarButtonItem的可点击区域为44x44?或者我是否必须创建一个具有空白空间的新图标,以便大小为44x44,iOS世界中最佳实践是什么?

2 个答案:

答案 0 :(得分:1)

为什么使用自定义视图?如果您只想在按钮上使用自定义图像,请使用-[UIBarButtonItem initWithImage:style:target:action:],您将获得正确的可点击区域和标准系统行为。

如果您确实需要自定义视图,则无需更改图片以留空空间...只需设置contentHorizontalAlignmentcontentVerticalAlignment以使图像居中而不是填充视图,然后根据需要调整视图大小。

答案 1 :(得分:0)

我认为具有透明背景的图像44x44和内部较小的图像是最简单的方式。