xcode iOS增加UIButton命中区域

前端之家收集整理的这篇文章主要介绍了xcode iOS增加UIButton命中区域前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图增加我的UIButton的命中区域.我有一个新的 Xcode项目,在故事板的中心有一个UIButton.该按钮通过插座和动作连接到我的视图控制器.我可以通过编程方式更改按钮标题,只是为了好玩,当我点击按钮时,它的动作会改变视图的背景.所以我知道一切都是有联系和有效的.

从我在网上看到的,这应该有效,但事实并非如此.

[button setFrame:CGRectMake(button.frame.origin.x,button.frame.origin.y,-64,-64)];

有什么想法吗?我试过没有负边距,这也不起作用.顺便说一下,我已经尝试了很多地方这个问题,但它没有用.谢谢您的帮助.另外,我听说UIButton的子类化可能会产生一个问题,对此有何想法?

更新:
我想制作的UIButton有一个背景颜色,是一个特定的大小.我希望保持这个大小不变但增加它周围的命中区域而不会扭曲按钮的外观.

解决方法

我想您只是想使用相同的按钮将背景颜色或背景图像限制在同一区域并增加触摸区域?

据我所知,你不能在界面构建器中这样做.但是通过使用图层可以编码.

拿出按钮的出口

CALayer *buttonlayer=[CALayer layer];

  buttonlayer.frame=CGRectMake(50,50,50); // set the frame where you want to see the background color or background image to be visible in your button

  buttonlayer.backgroundColor=[[UIColor colorWithPatternImage:[UIImage imageNamed:@"yourimage.png"] ] CGColor]; // if u want image (but remember the image size must same as your layer frame it may  look bad if the image bounds does not mach your layer bounds,because you are setting color not image)


  // to set color (donot use if you want image,use colorWithPatternImage to set image color)
   buttonlayer.backgroundColor=[[UIColor graycolor] CGColor];  // if you want only color

    // you can add round rects to the button layer

    buttonlayer.cornerRadius=2.5f;

   [yourbutton.layer addSublayer:buttonlayer];

我不确定你在寻找什么我希望这能帮助你,但是检查一下图像

猜你在找的iOS相关文章