ios开发_关于UIButton点击没有响应问题的阐述

今天,做项目的时候,有个需求,需要在UIView* view上放置一个UIButton* btn,代码写完,运行,表现正确,一个按钮乖乖地出现在了view上,点击,问题出现了,没有反应,一脸茫然,什么情况,立马想到,应该是按钮点击事件的问题,检查代码,发现无误,怪了,问题出在哪了,习惯性地输出了view的frame,发现btn的frame超出了view的frame,我想,问题应该始出现在这里了,同时也得出了一个结论1,如果一个UIButton的frame超出父视图的frame,UIButton还是可以显现的,但响应不了点击事件了,我又加了一个UIView* superView,作为view的父视图,view,superView,btn的关系是这样的,[superView addSubview:view]; [view addSubview:btn];  可是,view有一块区域超出了superView,而btn刚好就在这一块区域中,这时你会发现,btn点击事件也是不响应的,故刚才的结论1需要扩展了,当开发中,遇到UIButton点击没有响应问题时,我们需要输出btn,view, superView的frame,看看btn.frame是否超出view,superView,superView1......


第一次在csdn写博客,今天上午遇到了上述问题,凭借经验,寻找问题的原因,无果,去google上寻找答案,发现有人提出是btn.frame超出view.frame的原因,后来我输出了btn.frame和view.frame,发现没有问题,又是一脸茫然,我试着输出了view.superView.frame,原因找到了,问题虽小,花费我一天的时间,不想以后可能遇到同样问题的开发者再浪费时间,这就是写此篇短博的原因,也是我第一次在csdn写博客,希望此篇短短的博文,能帮助到大家。




附上图片一张,输出后的结果,能看出问题的原因,我得说明一下,从左向右,依次是x, y,width,height,btnAccept的父视图attachView,attachView的父视图contntView,contntVIew的父视图sinRec,希望各位能看懂。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值