iOS屏幕锁实现
来源:互联网 发布:淘宝微淘推广软件 编辑:程序博客网 时间:2024/05/02 04:18
屏幕锁实现
1.九宫格的实现
- 九宫格以前单独说明过
- 九宫格长相
- 图片
- 添加按钮
#pragma mark - awakeFromNib-(void) awakeFromNib{ //代码添加与图形上添加手势不可同时存在,如:当拉了一个pan手势时,没有添加响应方法,转而代码实现,会有问题(以验证) [self setPan];// _selectedBtnArrM=[NSMutableArray array]; for (int i=0; i<9; i++) { UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom]; //醉了// [btn setBackgroundImage:[UIImage imageNamed:@"gesture_node_normal"] forState:UIControlStateNormal];// [btn setBackgroundImage:[UIImage imageNamed:@"gesture_node_highlighted"] forState:UIControlStateSelected]; [btn setImage:[UIImage imageNamed:@"gesture_node_normal"] forState:UIControlStateNormal]; [btn setImage:[UIImage imageNamed:@"gesture_node_highlighted"] forState:UIControlStateSelected]; [btn setUserInteractionEnabled:NO]; [self addSubview:btn]; }}
- 九宫格布局
#pragma mark -layoutSubviews-(void)layoutSubviews{ [super layoutSubviews]; CGFloat marginW=10; CGFloat marginH=84; NSInteger rowCounts=3;// NSLog(@"%f",self.bounds.size.width); CGFloat spaceW=(self.bounds.size.width-2*marginW-rowCounts*74)/(rowCounts-1); NSInteger counts=self.subviews.count; for (int m=0; m<counts; m++) {// NSLog(@"%i %i",(m%3),(m/3)); //NSLog(@"%f - %f ",marginW+(m%3)*spaceW,100+(m/3)*marginH); UIButton *btn=self.subviews[m]; btn.frame=CGRectMake(marginW+(m%3)*(spaceW+74), 100+(m/3)*(marginH+74), 74, 74); }}
2.添加手势,两种方式
- 1.图形界面操作
- 操作图片
- 2.
- 2。代码实现
#pragma mark - setPan-(void) setPan{ UIPanGestureRecognizer *pan=[[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(pan:)]; [self addGestureRecognizer:pan];}-(void) pan:(UIPanGestureRecognizer *) pan{ _curP=[pan locationInView:self]; for (UIButton *btn in self.subviews) { if (CGRectContainsPoint(btn.frame ,_curP)) { btn.selected=YES; [self.selectedBtnArrM addObject:btn]; } } [self setNeedsDisplay]; if (pan.state==UIGestureRecognizerStateEnded) { //不行???// [self.selectedBtnArrM makeObjectsPerformSelector:@selector(setSelected:) withObject:@(NO)]; for (UIButton *btn in self.selectedBtnArrM) { btn.selected=NO; } [self.selectedBtnArrM removeAllObjects]; }}
3.画线与图片选中时的高亮
#pragma mark - setPan-(void) setPan{ UIPanGestureRecognizer *pan=[[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(pan:)]; [self addGestureRecognizer:pan];}-(void) pan:(UIPanGestureRecognizer *) pan{ _curP=[pan locationInView:self]; for (UIButton *btn in self.subviews) { if (CGRectContainsPoint(btn.frame ,_curP)) { btn.selected=YES; [self.selectedBtnArrM addObject:btn]; } } [self setNeedsDisplay]; if (pan.state==UIGestureRecognizerStateEnded) { //不行???// [self.selectedBtnArrM makeObjectsPerformSelector:@selector(setSelected:) withObject:@(NO)]; for (UIButton *btn in self.selectedBtnArrM) { btn.selected=NO; } [self.selectedBtnArrM removeAllObjects]; }}
4.源代码地址
- 1.代码实现github
- 2.图形实现github
0 0
- iOS屏幕锁实现
- IOS实现屏幕滚动
- iOS 5.1实现旋转屏幕
- iOS 中实现屏幕截图
- iOS 屏幕旋转,单个屏幕旋转的实现
- iOS 通话时屏幕变暗的实现
- iOS后台抓取全局屏幕的实现
- iOS - 强制旋转屏幕之代码实现
- IOS纯代码实现AutoLayout适配多屏幕
- IOS 一个很好的录制屏幕实现IOS功能
- C#屏幕锁的实现
- ios屏幕旋转的两种实现方式
- IOS编程之_算法实现UIImageView自适应屏幕大小
- ios监听用户是否触摸了屏幕的一种实现
- ios点击屏幕实现退出键盘的功能
- ios截取屏幕指定位置指定大小的实现
- ios学习之 点击屏幕任何地方隐藏键盘实现
- 如何实现ios屏幕的横竖屏自适应
- call back function
- ios 常用公共方法
- google batchnorm 资料总结
- android编码命名规范
- 深入理解计算机系统(第二版)
- iOS屏幕锁实现
- 关于EI论文写作的干货总结
- git一些操作
- 一步步教你如何上传头像
- opencv 标定 3D项目
- leetcode #152 in cpp
- RuntimeException与CheckedException
- c#获取WebBrowser中的userAgent
- 反调试技术