touches withEvent:(UIEvent *)event{ CGPoint point = [[touches anyObject] locationInView:self]; UIView
常用 UI 控件 ( 1 ) iOS 控件 对象 库 ( 2 ) iOS 常用 控件 ( 3 ) UIView ( 4 ) UIViewController 4....UIView 简介 : 1.定义 : iOS 手机屏幕上的所有能看到的内容都是 UIView 或 UIView 子类, 如 按钮 UIButton, 文字 UILabel 等都是继承自 UIView...UIView 坐标系 UIView 坐标系 : 1.原点 : 左上角 的位置 是原点, 向右是 x 轴, 向下是 y 轴, 向右移动 x 轴坐标增加, 向下移动 y 轴坐标增加; ---- (...: 在 Main.storyboard 中添加一个按钮, 修改按钮文字为 “代码生成UIView控件”, 进入辅助编辑器模式, 按下 control 键不放, 左键拖动按钮到 ViewController.m...传入 UIViewController.m 中 : 按住 control 不放, 左键拖动 白色的 UIView 控件, 拖动到 ViewController.m 的扩展中; ① 设置控件属性参数
最近工作一直挺忙,偶有闲暇时都在翻看《iOS Animations by Tutorials》,受益良多,尤其是让我对Core Animation有了更深入的理解。...9 { return } switch type { case .TenDigit: UIView.animateWithDuration...CircleView(显示日期的圆圈) 中有一个date属性,在属性监听里调用slideToNum,像这样: var date: Int!...再说到卡片动画,这个稍微复杂一点,主要是手势的处理,要分多种情况(第一张时,最后一张时,向上,向下,边界条件处理),由于我是用的 pan手势(拖动),而不是swip手势(快速滑动),是没有direction...哦对了,卡片的3D效果是用等比缩放+阴影做的,整个小项目我都没有用Layer层的东西,动画都是用View层的动画接口写的,所以说也不要小看了View层的动画接口,《iOS Animations by Tutorials
触摸事件.png 但是在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”。...UIView继承自UIResponder,因此所有的控件都是响应者对象 UIWindow:是特殊的UIView,所以也是响应者对象 UIApplication,所以也是响应者对象 1....UIButton肯定是放在一个UIView上面,UIView也肯定是放在一个Controller里面。这几个都是响应者对象,总不能让大家一起给用户反馈吧。...- iOS 3.2之后,苹果推出了手势识别功能(Gesture Recognizer),在触摸事件处理方面,大大简化了开发者的开发难度 3.1手势识别器(UIGestureRecognizer) 为了完成手势识别...向左轻扫 UISwipeGestureRecognizerDirectionUp 向上轻扫 UISwipeGestureRecognizerDirectionDown 向下轻扫
UIKit 坐标系每一个 View 都定义了他自己的坐标系,如下图所示,x 轴指向右方,y 轴指向下方: ?...我们在坐标系中放置四个子 View,每一次色块代表一个 View: ?...image.png 修改 bounds 的原点就相当与在平面上移动这个可视区域。 看起来好像是这个 View 向下移动了100像素,在这个 View 自己的坐标系中这确实没错。...注意从一个用户的角度来看,他以为时这个 View 中的子 View 在移动,其实他们的在坐标系中位置(他们的 frame )没有发生过变化。...我们用一个 gesture recognizer 来识别用户的拖动操作,根据用户拖动的偏移量来改变 bounds 的原点: 和真正的 UIScrollView 一样,我们的类也有一个 contentSize
在响应之前,必须要找到那个最合适的对象(最佳响应者),这个过程称之为事件传递或寻找最佳响应者(Hit-Testing)。...事件传递 当 iOS 程序中发生触摸事件后,系统会将事件加入到 UIApplication 管理的一个任务队列中。 UIApplication 取出最前面的事件传递给 UIWindow。...如果能,那么 UIWindow 会从后往前遍历自己的子 UIView,将事件向下传递。...响应者对于触摸事件的响应和传递都是在touchesBegan方法中完成的。该方法默认是将事件顺着响应者链向上传递,即将事件交给上一个响应者进行处理。...UIPanGestureRecognizer:拖动手势识别。 UIScreenEdgePanGestureRecognizer:屏幕边缘拖动手势识别。
iOS 手势 1.如果一个控件继承于 UIControl,那么它将不需要手势 2.所有控件都可以添加手势 [控件 addGestureRecognizer: ] 3.iOS...系统提供的手势有哪些 UITapGestureRecognizer 点击 UISwipeGestureRecognizer 轻扫 UIPanGestureRecognizer 拖动...UIRotationGestureRecognizer 旋转 UIPinchGestureRecognizer 捏合 UILongPressGestureRecognizer 长按 4.iOS...beginAnimations:nil context:nil]; [UIView setAnimationDuration:1.0f]; [UIView...beginAnimations:nil context:nil]; [UIView setAnimationDuration:1.0f]; [UIView
iOS7、iOS9、iOS10 UIApplication *app = [UIApplication sharedApplication]; // 应用程序右上角数字 app.applicationIconBadgeNumber...received permission from the user to badge the 原因是因为在ios8中,设置应用的application badge value需要得到用户的许可。...在这之前要判断系统是否为iOS8的系统,否则8之前的系统会报错。...BOOL finished) { targetView.transform = CGAffineTransformIdentity; }]; 这样的缩放,由于是由卯点开始的,所以会出现视图放大时向下移动了...方法: # \n 即可达到换行的效果.一个Label self.msgLabel2.text = @"a.可创建各种颜色的跑马灯\nb.默认按下停止可以拖动,也可绑定其他点击事件\nc.可以设置速度,颜色
控制滚动视图是否反弹过去内容的边缘,然后再返回一个布尔值 @property(nonatomic) BOOL bounces; //11.如果这个属性被设置成YES而且bounces的值是YES,垂直拖动是允许的内容...如果它从这种方法受到NO便停止拖动和转发触摸时间的内容子视图。...(3_0); //34.缩小到特定区域的内容,所以它是在接收器中可见 - (void)zoomToRect:(CGRect)rect animated:(BOOL)animated NS_AVAILABLE_IOS...isZoomBouncing) BOOL zoomBouncing; //38.一个布尔值 控制是否滚动到顶部的姿态是有效地 @property(nonatomic) BOOL scrollsToTop; //39.拖动手势.../42.scrollView正在滚动的时候调用 - (void)scrollViewDidScroll:(UIScrollView *)scrollView; //43.scrollView正在被拖动的时候调用
俺直接在之前的示例Demo上演示,简书地址:iOS 自定义转场动画 ,Github地址 :WSLTransferAnimation 二、问题展示 现象 1、UIScrollView当前在第一页即contentOffset.x...手势冲突.gif 三、分析解决问题 这些问题很显然,肯定跟iOS事件的传递和响应链机制有关系,不了解的可以看看这篇文章 史上最详细的iOS之事件的传递和响应机制-原理篇。...时,如果此时touch时间在150ms以内,UIScrollView会认为是拖动自己,从而拦截了event,导致UISlider接收不到滑动的event。.../* 直接拖动UISlider,此时touch时间在150ms以内,UIScrollView会认为是拖动自己,从而拦截了event,导致UISlider接受不到滑动的event。...*/ UIView *view = [super hitTest:point withEvent:event]; if([view isKindOfClass:[UISlider
iOS开发UIScrollView使用详解 一、ScrollView常用方法和属性 @property(nonatomic)CGPoint contentOffset; 设置滚动的偏移量 @property...getter=isDirectionalLockEnabled) BOOL directionalLockEnabled; 设置是否锁定,这个属性很有意思,默认为NO,当设置为YES时,你的滚动视图只能同一时间在一个方向上滚动...,但是当你从对角线拖动时,是时刻在水平和竖直方向同时滚动的。...,则子视图会继续触发事件) - (BOOL)touchesShouldBegin:(NSSet *)touches withEvent:(UIEvent *)event inContentView:(UIView...*)view; 视图内容将要开始缩放时触发的方法 - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView
iOS原生地图开发详解 在上一篇博客中:http://my.oschina.net/u/2340880/blog/414760。...对iOS中的定位服务进行了详细的介绍与参数说明,在开发中,地位服务往往与地图框架结合使用,这篇博客主要对iOS官方的地图框架MapKit.framework进行介绍。...一、初始化地图视图与相关属性方法介绍 1、初始化地图视图 地图视图的展示依赖于MKMapView这个类,这个类继承于UIView,因此和其他View的使用方法类似。... MKAnnotationViewDragStateDragging, // 正在拖动 MKAnnotationViewDragStateCanceling, // 取消拖动...- (void)mapView:(MKMapView *)mapView didAddOverlayViews:(NSArray *)overlayViews; 添加完成覆盖物数组执行的方法 备注:在iOS9
此博客为初级iOS而写,这里不讲难以理解的知识,就说说怎么样封装一个简单的控件。我记得在我开始自己第一个封装控件的时候,真的是一筹莫展,就像抱着一个西瓜不知道怎么下口。...特别注意,我们在最后调用了代理。(为了简单我用三目运算)如果你喜欢阻尼、弹跳效果,可以自行参考UIView动画。 不要忘记我们还有一个拖动手势事件没有处理。...我大致说下:最开始我们限制了拖动的距离,上面的 1 呢是为了留滑块与底层的间隙,我们获取停止拖动的时机,进行一个很重要的判断,当拖动距离大于一半的时候我们就让滑块滑动到最终位置,反之则回到最初位置(这里其实是一个用户体验问题...最后我们在左右停止拖动的时候分别调用了我们的代理。这样就能够保证外部在拖动和点击后都可以获取这个时机,去做其他的事情。下面我贴出调用代码。...其实东西特别简单,只是希望给刚接触iOS编程的人看看吧,毕竟我刚开始时候没有人告诉我这样去做。
应用启动步骤简介 ( 1 ) iOS 应用启动步骤 五....容器 中 ; 3.添加按钮 : 添加两个按钮 , 两个按钮的功能分别是 生成 UIView 控件 和 清空 UIView 控件 ; ---- ( 3 ) 在 ViewController.m...: 直接拖动 向右的 箭头 , 其指向就是第一个 启动的界面 ; 4.属性设置启动界面 : 选中 ViewController , 在属性查看器中 设置 View Controller 模块下的...应用启动步骤简介 ( 1 ) iOS 应用启动步骤 iOS 应用启动步骤 : 1.程序入口 main 函数 : main () 函数 在 Xcode 中 代码 路径 下的 Supporting Files...中的 .app 文件路径 : 在 Bundle 目录下 , Application 路径 下 的 二级 文件 就是 iOS 中的 app 后缀文件 , 右键 可查看其 内容 ; 6.查看 Bundle
2 UIGestureRecognizer iOS系统在3.2以后,为方便开发这使用一些常用的手势,提供了UIGestureRecognizer类。...recognizer.rotation); recognizer.rotation = 0; } 添加了这几个手势后,运行看效果,程序中的imageView放了一条蛇的图片,在模拟器上拖动是没问题的...缩放和旋转有点问题,估计是因为在模拟器上的模拟的两个接触点距离在imageView的边界外了,所以操作无效果。建议在真机上运行这个手势。 ...不过这个点击播放声音有点缺陷,就是在慢慢拖动的时候也会播放。这使得两个手势重合了。怎么解决呢?使用手势的:requireGestureRecognizerToFail方法。...在真机上运行,按住某个view,快速左右拖动,就会发出笑的声音了。
感觉有必要把iOS开发中的手势识别做一个小小的总结。...在上一篇iOS开发之自定义表情键盘(组件封装与自动布局)博客中用到了一个轻击手势,就是在轻击TextView时从表情键盘回到系统键盘,在TextView中的手是用storyboard添加的。...12 13 //结束后恢复 14 if(gesture.state==UIGestureRecognizerStateEnded) 15 { 16 [UIView...(PanGestureRecognizer) 拖动手势的初始化 1 //添加拖动手势 2 UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer...} 11 12 if(gesture.state==UIGestureRecognizerStateEnded) 13 { 14 15 [UIView
1.当iOS程序中发生触摸事件后,系统会将事件加入到UIApplication管理的一个任务队列中 2.UIApplication将处于任务队列最前端的事件向下分发。即UIWindow。...3.UIWindow将事件向下分发,即UIView。 4.UIView首先看自己是否能处理事件,触摸点是否在自己身上。如果能,那么继续寻找子视图。 5.遍历子控件,重复以上两步。...其中 UIView不接受事件处理的情况主要有以下三种 1)alpha <0.01 2) userInteractionEnabled = NO 3)hidden = YES 4)hitTest...:withEvent: 返回nil // 此方法返回的View是本次点击事件需要的最佳View - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent
:blue @IBOutlet weak var blueSquare: UIView!...现在运行项目,在屏幕上滑动或者拖动,控制台的输出信息应该如下类似: Touch start position is (234.666656494141, 463.666656494141) Start...UIDynamicAnimator和UIAttachmentBehavior 现在我们想要做的第一件事就是让imgView在拖动的时候移动,将要用到一种名为UIAttachmentBehavior的UIKit...运行demo,拖动视图会出现如下效果: ? 注意视图不仅仅是在屏幕上进行旋转; 如果您在图像的某个角落开始手势,则由于锚点的缘故,视图会随着手指移动而旋转。...此demo是raywenderlich下面iOS的Graphics & Animation整个教程系列的集合。
一:简介 AVFoundation是苹果在iOS和OS X系统中用于处理基于时间的媒体数据的Objective-C框架. 供使用者来开发媒体类型的应用程序。 ? 上图是iOS系统下媒体应用的结构层....AVFoundation可以利用CoreAnimation让开发者能够在视频的编辑和播放过程中添加动画和图片效果。...用于视频显示的View创建 - (UIView *)videoShowView{ if (!...拖动滑块,控制快进快退 //拖动滑块[_videoPlayControl setSliderTouchEnd_block:^(CGFloat time) { [weakSelf seekToTimePlay...在项目中引入FBYVideoPlayer并继承FBYVideoPlayerDelegate代理 #import "FBYVideoPlayer.h"@interface ViewController (
UIControl的意义所在 UIControl的主要角色是定义一套接口和基础实现,为iOS的人机交互制定了一系列的标准, 为了当确定的事件发生的时候(比如点击了按钮)准备好动作消息(Action)...自定义控件可以怎样实现 继承自UIView,这是大多数开发者的做法。也能够实现需求,但是一个可交互控件,理应继承于UIControl而非UIView。...UIControlEventTouchDown 控件被按下去的事件 UIControlEventTouchDownRepeat 控件被重复点击的时间,点击次数超过一次 UIControlEventTouchDragInside 在控件范围内按下并拖动的事件...UIControlEventTouchDragOutside 在控件范围内按下并在控件外面拖动的事件 UIControlEventTouchDragEnter 从控件范围外拖动到控件范围内的事件...UIControlEventTouchDragExit 从控件范围外拖动到控件范围内的事件 UIControlEventTouchUpInside 点击控件后在控件范围内释放触发事件 UIControlEventTouchUpOutside
领取专属 10元无门槛券
手把手带您无忧上云