ios中为什么在uiview中给按钮添加点击事件不响应

ios中为什么在uiview中给按钮添加点击事件不响应,第1张

在app的开发过程中我们常常需要在一些非button中添加一些点击事件,来实现我们想要的效果。比如做个下拉选项,我们希望点击背景时选项视图消失,或者我们点击某个图片(uiimageView)时跳转到大图页面或者做其他 *** 作。也许初学者会郁闷。。。这些怎么添加点击事件呢?点击事件不是只有button才能添加么?其实只要是继承 uiview的空间,你都可以手动的添加一些点击事件。

让我们看看是怎么实现的吧。

UITapGestureRecognizer*tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:selfaction:@selector(Actiondo:)]

[uiview addGestureRecognizer:tapGesture]

其实理解起来也很简单,就是新建一个UITapGestureRecognizer,这个是点击事件,再将这个事件加到uiview中,继承uiview的一般都有addGestureRecognizer这个方法。addGestureRecognizer方法就是用于添加点击事件的。

我们再定义一个Actiondo的响应方法。

-(void)Actiondo:(id)sender{}

将我们需要的动作添加在其中就可以了。

好了,UITapGestureRecognizer的使用就是这样了。赶快试一下吧!

1.给移动 view 添加 Layer 动画

2. view 的父类添加点击事件

3.点击事件判断处理

参考一:ios捕捉移动view的点击事件

参考二:iOS 为移动中的UIView(UIButton )添加点击事件

我建议你用窗口拆分,将单文档拆分(Csplitterwnd类)成左右两个部分,其中一部分用用CFormView做为基类,这个类就和对话框差不多,你可以自由的往上边加控件什么的,而且很美观。

具体做法如下:

1.在资源中新建一个对话框然后右键类向导,然后新建一个类,继承自CFormView类,模板选刚才的对话框ID,这样分割窗口的左边就好了。

2.然后在主窗口类中声明成员变量CSplitterWnd s_wnd,然后重载OnCreateClient虚函数,然后在里边用s_wnd对象将其拆分,注意拆分后要注释掉原来的return CFrameWnd::OnCreateClient(lpcs, pContext)直接给返回真就行了。

3关于左右窗口的交互,有很多种,在这里教你一种,就是在左右两个窗口类(CFormView和你本来的View)中声明对方的指针,然后再2步骤中赋值,怎么样得到两个窗口的指针呢??哈哈,在分割时用CreateView时会返回创建View的指针,然后把左窗口的指针赋值给右窗口的成员变量就行了,这样就可以实现左右窗口的交互了。然后你可以在你新建的对话框窗口中拖入一个按钮,然后再CFormView中添加响应就ok了。哈哈,方法就是这样,细节你去查查CSplitterWnd类的使用就可以了,网上很多的。分割窗口后可以近一步美化界面,添加更多的使用功能。哈哈~~~给分吧。 另外一个问题我也回答了,记得给分啊。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8017948.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存