做一个Active To
2015-11-23 16:04
375 查看
2015年11月12日 星期四 iOS第9天
做一个类似iPhone上的那个小圆点,就是Active Touch 的小东西
主要代码:
ViewController类:
SliderImageView类:
#define k_ScreenHeight [UIScreen mainScreen].bounds.size.height
#define k_ScreenWidth [UIScreen mainScreen].bounds.size.width
@interface SliderImageView : UIImageView
@end
做一个类似iPhone上的那个小圆点,就是Active Touch 的小东西
主要代码:
ViewController类:
#define ARC4RANDOM_MAX 0x100000000 #define k_diameter 40 // 设置小圆点的直径 @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; [self.view setBackgroundColor:[UIColor whiteColor]]; // 创建一个SliderImageView对象 SliderImageView *_iTouch = [[SliderImageView alloc]initWithFrame:CGRectMake(-k_diameter / 2.0f, floorf(((double)arc4random() / ARC4RANDOM_MAX) * k_ScreenHeight - k_diameter) , k_diameter, k_diameter)]; // 随机放置iTouch于视图左侧 [self.view addSubview:_iTouch]; _iTouch.layer.cornerRadius = k_diameter / 2.0f; // 设置圆角半径为直径的一半即可得到圆 [_iTouch setUserInteractionEnabled:YES]; // 打开人机交互 [_iTouch setBackgroundColor:[UIColor cyanColor]]; // 设置背景颜色 } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } @end
SliderImageView类:
#define k_ScreenHeight [UIScreen mainScreen].bounds.size.height
#define k_ScreenWidth [UIScreen mainScreen].bounds.size.width
@interface SliderImageView : UIImageView
@end
@implementation SliderImageView - (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { UITouch *touch = [touches anyObject]; // 创建一个触摸点 CGPoint point = [touch locationInView:self]; // 获取触摸点的坐标 self.center = [self convertPoint:point toView:self.superview]; // 将point相对于self的坐标转换为self.superview的坐标 } - (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { [UIView animateWithDuration:0.20f animations:^{ // 视图动作,判断当前的x坐标离左右两侧哪边近就停靠在哪边 self.frame = CGRectMake(((self.frame.origin.x <= k_ScreenWidth / 2) ? 0 : k_ScreenWidth) - self.frame.size.width / 2.0f, self.frame.origin.y, self.frame.size.width, self.frame.size.height); }]; } @end
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- ORACLE随机数DBMS_RANDOM包
- C#利用Random得随机数求均值、方差、正态分布的方法
- Shell脚本实现随机数多种方法介绍(date、random、uuid)
- javascript Math.random()随机数函数
- 讲解iOS开发中基本的定位功能实现
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 在javascript中随机数 math random如何生成指定范围数值的随机数
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解