当前位置: 首页 > news >正文

网站上的通话功能怎么做营销方式都有哪些

网站上的通话功能怎么做,营销方式都有哪些,网站注册费,做搜狗手机网站优化软IOS中我们可以通过UITouch进行触摸事件监听#xff0c;但是UITouch实现捏合、旋转、长按等手势事件监听非常麻烦。IOS中提供 UIGestureRecognizer 的子类帮我们简洁等实现捏合、旋转等特殊手势监听。并且一个视图可添加多个不同等手势监听器。 开启userInteractionEnabled IOS… IOS中我们可以通过UITouch进行触摸事件监听但是UITouch实现捏合、旋转、长按等手势事件监听非常麻烦。IOS中提供 UIGestureRecognizer 的子类帮我们简洁等实现捏合、旋转等特殊手势监听。并且一个视图可添加多个不同等手势监听器。 开启userInteractionEnabled IOS 中UIView 默认是不可响应事件的我们需要开启 userInteractionEnabled 方可进行事件响应。下面代码中我们创建了一个图片视图并且开始事件响应。UIView 通过 addGestureRecognizer 进行添加手势监听器和 removeGestureRecognizer删除手势监听器 // 创建图片视图 - (void) creareImg {UIImage* image [UIImage imageNamed:zz.jpeg];_imageView [[UIImageView alloc] initWithImage:image];UIScreen* screen [UIScreen mainScreen];const int width 200;const int height 100;const float x screen.bounds.size.width / 2 - width / 2;const float y screen.bounds.size.height / 2 - height;_imageView.frame CGRectMake(x, y, width, height);_imageView.userInteractionEnabled YES;[self.view addSubview:_imageView]; }了解UIGestrueRecognizer 在开始使用自定义手势之前我们先了解一下 UIGestrueRecognizer 的因为自定义都是基于 UIGestrueRecognizer 继承实现的。 UIGestrueRecognizer 是一个手势监听器它可以设置多个手指同时触发触发事件等行为。它具有代理协议 UIGestureRecognizerDelegate 下面我来看一下它主要的属性和API、代理方法。 属性 名称类型说明默认值stateUIGestureRecognizerState当前手势状态可分为手势开始手势改变手势结束等等enabledBOOL是否启用YESviewUIView手势监听的视图requiresExclusiveTouchTypeBOOL是否忽略其他手势类型设置为YES将只响应一种手势类型NOnumberOfTouchesNSUInteger多少根手指触发手势1 API - (instancetype)initWithTarget:(nullable id)target action:(nullable SEL)action 初始化并添加事件监听函数- (void)addTarget:(id)target action:(SEL)action 添加事件监听函数- (void)removeTarget:(nullable id)target action:(nullable SEL)action 删除事件监听函数- (void)requireGestureRecognizerToFail:(UIGestureRecognizer *)otherGestureRecognizer 添加其他手势冲突失效器当触发当前手势时指定的手势将失效。- (CGPoint)locationInView:(nullable UIView*)view 获取相对于指定视图的坐标位置- (CGPoint)locationOfTouch:(NSUInteger)touchIndex inView:(nullable UIView*)view 获取指定手指相对指定视图的坐标位置 代理协议 - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer 手势准备开启时候触发返回NO则取消手势。 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 当手势与其他手势同时发生识别时候触发返回YES运行两个手势同时进行返回NO则阻止同时识别。 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 是否给事件接收手指。在手势开始触发事件触发前触发返回NO可以阻止事件获取触摸的手指。 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceivePress:(UIPress *)press 是否给按下事件接收手指在按下手势事件触发前触发。返回NO可阻止事件获取触摸的手指。 我们了解清除GestureRecognizer 类下面我们来了解其子类手势的使用。 UITapGestureRecognizer 点击手势 点击手势可设置手指数量、点击次数触发的手势 // 创建点击手势 - (void) createTapGes {_imageView.userInteractionEnabled YES; // 开启响应事件属性UITapGestureRecognizer* tapOneGes [[UITapGestureRecognizer alloc] initWithTarget:self action:selector(big)]; // 创建手势tapOneGes.numberOfTapsRequired 1; // 触发事件的点击次数tapOneGes.numberOfTouchesRequired 1; // 触发事件的手指数量[_imageView addGestureRecognizer:tapOneGes]; // 添加手势监听器 } // 点击触发事件 - (void) big {UIScreen* screen [UIScreen mainScreen];[UIView beginAnimations:nil context:nil]; // 开始布局动画_imageView.frame CGRectMake(0, 0, screen.bounds.size.width, screen.bounds.size.height);[UIView commitAnimations]; // 结束布局动画 }UIPinchGestureRecognizer 捏合手势 捏合手势表示双指捏合缩放的手势触发。常用于对图片查看缩放事件监听 // 捏合手势 - (void) createPinchGes {UIPinchGestureRecognizer* pinch [[UIPinchGestureRecognizer alloc] init]; // 创建手势[pinch addTarget:self action:selector(scale:)]; // 添加事件函数pinch.delegate self; // 设置代理[_imageView addGestureRecognizer:pinch]; // 视图添加手势监听器 }- (void) scale: (UIPinchGestureRecognizer*) pinch {UIView* IView pinch.view; // 获取监听的视图CGAffineTransform transiform CGAffineTransformScale(IView.transform, pinch.scale, pinch.scale); // 计算缩放后的矩阵if (transiform.a 0.4) { // 缩放小于0.4阻止transiform.a 0.4;transiform.d 0.4;}IView.transform transiform; // 重新设置矩阵pinch.scale 1; // 重置缩放矩阵否则手势会一直累加 }// 添加允许多个手势触发代理函数 - (BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {return YES; }上面代码中我们通过获取捏合手势的scale 属性获取用户捏合缩放的大小。并且使用内置api CGAffineTransformScale 重新计算了视图的2D矩阵矩阵表示图像变形可以了解一下图形学注意最后一步中必须重置手势的scale 否则会一直累加导致计算矩阵错误如果不想重置的话那就需要修改 CGAffineTransformScale的第一个参数为基础矩阵参数。 UIRotationGestureRecognizer 旋转手势 旋转手势可获取用户手指旋转的角度。 // 旋转手势 - (void) createRotateGes {UIRotationGestureRecognizer* rotate [[UIRotationGestureRecognizer alloc] init];[rotate addTarget:self action:selector(rotate:)];rotate.delegate self;[_imageView addGestureRecognizer:rotate]; } // 旋转触发事件 - (void) rotate: (UIRotationGestureRecognizer*) rotate {UIView* IView rotate.view;IView.transform CGAffineTransformRotate(IView.transform, rotate.rotation); // 重新计算视图矩阵rotate.rotation 0; }UIPanGestureRecognizer 平移手势 平移动手势比较简单就是手指移动时候触发但是提供平移的位置和平移的速度 // 平移手势 - (void) createPanGes {UIPanGestureRecognizer* pan [[UIPanGestureRecognizer alloc] initWithTarget:self action:selector(pan:)];pan.delegate self;[_imageView addGestureRecognizer:pan]; } - (void) pan: (UIPanGestureRecognizer*)pan {CGPoint speed [pan velocityInView:_imageView]; // 获取移动速度NSLog(x速度 %f, y速度 %f, speed.x, speed.y);CGPoint translation [pan translationInView:_imageView]; // 获取移动矩阵CGAffineTransform transform CGAffineTransformTranslate(_imageView.transform, translation.x, translation.y);_imageView.transform transform; }UILongPressGestureRecognizer 长按手势 长按对应视图触发手势可设置手指数量和手指长按时间 // 长按手势 - (void) createLongPassGes {UILongPressGestureRecognizer* longPass [[UILongPressGestureRecognizer alloc] initWithTarget:self action:selector(pass:)];longPass.minimumPressDuration 1; // 设置长按触发时间默认0.5[_imageView addGestureRecognizer: longPass]; }- (void)pass: (UILongPressGestureRecognizer*) longPass {if (longPass.state UIGestureRecognizerStateBegan) {NSLog(开始长按);} else if (longPass.state UIGestureRecognizerStateEnded) {NSLog(结束长按);} else if (longPass.state UIGestureRecognizerStateChanged) {NSLog(长按发生改变);} }UISwipeGestureRecognizer 轻滑手势 轻滑手势类似我们的平移手势。但是轻滑不同的是在用户快速滑动时候速度并且只提供滑动方向。 // 创建轻滑手势 - (void) createSwipe {UISwipeGestureRecognizer* swipe [[UISwipeGestureRecognizer alloc] initWithTarget:self action:selector(swiper:)];swipe.direction UISwipeGestureRecognizerDirectionDown;[_imageView addGestureRecognizer: swipe];swipe.delegate self; }- (void) swiper: (UISwipeGestureRecognizer*)swiper {NSLog(发生向下滑动); }
http://wiki.neutronadmin.com/news/55043/

相关文章:

  • 如何让自己的网站快速被百度收录温州高端模板建站
  • 网站商品图片怎么做天津移动网站建设
  • 招聘网站有哪些平台在网站上保存网址怎么做
  • 全球十大网站排名织梦 做网站 知乎
  • 语音app开发公司北京数据优化公司
  • 做代码的网站淘客做网站运营
  • 自学做网站的书wordpress 用户名
  • 网站建设要注意哪些wordpress按分类搜索
  • 太原seo网站优化建设维护网站 未签订合同
  • 甘肃兰州网站建设音乐网站建设方案书模板
  • 网页设计与网站建设主要内容网络营销推广活动方案
  • 长春seo网站优化佛山高端网页制作
  • 吉林市做网站的科技html5网站后台页面设计
  • 网站显示备案号seo站外推广
  • ps制作博客网站界面外贸网站平台是不是很难做
  • 中建招聘网站wordpress如何加表情
  • 做外汇看新闻在什么网站看wordpress 摘要函数
  • 山东建设局网站电工网站 网页区别是什么
  • 汽车 营销 网站建设多语言网站思路
  • 专业的美容网站建设公关咨询公司
  • php网站建设 关键技术沈阳男科三甲医院排行榜
  • 一个人做的网站做什么好外贸型网站建设方法
  • 前端做网站难吗专业的定制型网站建设
  • 网站推广渠道制作简易网站
  • 中国工商银行官网网站wordpress 手机维修
  • 江苏省泰州市建设局官方网站邯郸网站制作外包
  • 网站建设需要什么流程图中国石油天然气第七建设公司网站
  • 佟年帮韩商言做网站是第几集遂昌建设局网站
  • 水泵行业网站怎么做盗版小说网站怎么赚钱
  • 晋江网站设计网站备案取消 后果