iPhone:如何制作您可以轻松点击的UIButton?

iPhone:如何制作您可以轻松点击的UIButton?,iphone,ios,uikit,uibutton,Iphone,Ios,Uikit,Uibutton,我正在使用UIView和UIButtons而不是UINavigationBar制作定制的导航栏 但是导航栏上的myui按钮响应不灵敏 我必须轻触ui按钮的几乎中心才能轻触。 如果我点击ui按钮的边缘,它不会响应 但普通UINavigationBar上的按钮可以通过点击按钮边缘来点击。 即使点击按钮的外侧,也可以点击 相机应用程序上的快门按钮或选项按钮也可以通过点击按钮边缘或外部来点击 如何在我的应用程序中实现这些易于点击的按钮?使用图像并创建自定义按钮。设置按钮,使图像不会缩放到按钮视图的大小,

我正在使用
UIView
UIButtons
而不是
UINavigationBar
制作定制的导航栏

但是导航栏上的my
ui按钮
响应不灵敏

我必须轻触
ui按钮的几乎中心才能轻触。
如果我点击
ui按钮的边缘,它不会响应

但普通
UINavigationBar
上的按钮可以通过点击按钮边缘来点击。
即使点击按钮的外侧,也可以点击

相机应用程序上的快门按钮或选项按钮也可以通过点击按钮边缘或外部来点击


如何在我的应用程序中实现这些易于点击的按钮?

使用图像并创建自定义按钮。设置按钮,使图像不会缩放到按钮视图的大小,而是仅居中。展开按钮的大小,使其大于每一侧的图像。苹果在标签按钮等方面也能做到这一点。

免责声明:这段代码还没有经过测试,但它让您了解了如何做到这一点

您制作一个按钮(在本例中为40px x 40px),然后向其添加一个较小的背景图像,从而给人一种图像非常“可点击”的印象


ui按钮
有一个专门用于此目的的按钮。只需将UIButton框制作成可触摸区域所需的大小,然后使用
imageEdgeInsets

适当缩放其中的图像,一些示例代码可能有助于诊断问题。@ben谢谢。我将查找示例代码。但这不是我的问题。我认为这是
UIButton
的规范。所有
ui按钮
的灵敏度都低于
ui导航栏
的按钮。我想知道一些特性或方法来扩展可以点击的区域。UIButton通常有一个非常大的点击区域。很可能是你误解了它们,而不是它们被破坏了,你需要解决它。Ben对代码的要求是正确的。@Rob不是很大。请点击并比较示例代码的UIButton和导航栏按钮,例如,
UICatalog
AddMusic
与真实设备而非模拟器。只是为了澄清一下,按钮的实际大小大于其显示的图像,因此可触摸区域远远大于图像大小,虽然只显示图像,但更大的区域是触摸敏感的。谢谢!它起作用了。我发现UIButton的inset属性对于扩展抽头区域也很有用。在图像中添加透明边距也可以扩大抽头区域。
// This image is 20px x 20px (Just an example)
UIImage* backgroundImage = UIImage imageNamed:@"backgroundImage.png"]

// Custom button, remember to add a target method
UIButton* customButton = [UIButton buttonWithType:UIButtonTypeCustom];
customButton.frame = CGRectMake(0.0, 0.0, 40.0, 40.0);
customButton.contentMode = UIViewContentModeCenter;
[customButton setImage:backgroundImage forState:UIControlStateNormal];

UIBarButtonItem* customBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:customButton];
self.navigationItem.rightBarButtonItem = customBarButtonItem;
[customBarButtonItem release];