UIbutton frame 和 addtarget 不同

Posted

技术标签:

【中文标题】UIbutton frame 和 addtarget 不同【英文标题】:UIbutton frame and addtarget is different 【发布时间】:2013-07-03 07:00:41 【问题描述】:

我制作自定义视图并在视图上添加创建按钮。 在视图控制器中

MyCustomView *customView = [[MyCustomView alloc] init];
[customView.button addTarget:self action:@selector(goodTry) forControlEvents:UIControlEventTouchUpInside];

但是,如果我在框架中触摸我的按钮,则只有中线下方是可触摸的,中线上方 addTarget 不起作用。

 ----
|\   |      
|*\  |
|**\ |
|***\| 
 ----

-- 这是我的按钮框架。 *** 在哪里 - 它正在工作。空的地方不起作用。

感谢您的帮助。

【问题讨论】:

绘图是customView还是按钮?大小一样吗? @Rajneesh071 这是一个UIControlEvent,他必须在这里添加,而不是UIControlState,它只会抛出一个错误或至少是一个警告。如果其他一切都正确完成,UIControlEventTouchUpInside 应该可以工作。如何在 customView 上创建按钮? Avi,绘图用于按钮。 CustomView 的大小和我的按钮不同 【参考方案1】:

为按钮添加背景颜色并检查按钮的定位方式和位置。如果它位于您的自定义视图之外,您将无法对该外部部分执行操作。

【讨论】:

【参考方案2】:

检查您的按钮框架是否位于父框架内。父框架外的按钮区域冻结并且不响应触摸事件。在按钮上设置clipToBounds = YES; 进行测试。

【讨论】:

以上是关于UIbutton frame 和 addtarget 不同的主要内容,如果未能解决你的问题,请参考以下文章

UIButton.titleLabel.frame.size 始终为零值

swift中UIButton的使用

改变UIButton 图片和文字的位置

圆形 UIButton - iPad 大小

向UIButton添加左右填充

如何在 Iphone 中单击 UIButton 时设置 UiScrollView Frame?