Iphone 是否有办法将uibarbuttonite的可攻丝区域设置为44x44?

Iphone 是否有办法将uibarbuttonite的可攻丝区域设置为44x44?,iphone,objective-c,ios,ipad,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

根据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];

UIBarbuttonite将被放在iphone的UIToolbar中。当你注意到图像的大小小于15,18。是否有办法将uibarbuttonite的可攻丝区域设置为44x44?或者我必须创建一个新的图标,该图标有一个空的空间,因此大小为44x44,在iOS世界中,这方面的最佳做法是什么?

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


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

我认为一张44x44的透明背景图像和内部较小的图像将是最简单的方法。

@rickster:为什么你认为对齐更好?不一定更好——主要是因为我指出了这一点,因为OP问你是否必须创建一张较大的空图像,或者是否有足够的空间另一种方式。不过,至少有一个论据支持使用对齐方式:填充透明图像的大图像是一个(可能微不足道的)更大的文件。问题是,我的图像颜色是灰色的,当我这样做时,背面是白色的。你的问题从一个高建议开始。。。HIG工具栏图标应为白色。如果您将图标灰显以表明它现在无法使用,为什么不使用UIBarButtonItem上的
enabled
属性?它是我为它定制的灰色,而且由于禁用了,所以没有使用它。。它就是不能用