底部是ImageView,ImageView上方是自定义View(LockView)
2.2 功能代码(LockView)
#import “LockView.h”
@implementation LockView
//解析xib的时候调用
-(instancetype)initWithCoder:(NSCoder *)coder
{
if (self=[super initWithCoder:coder]) {
//添加按钮
NSLog(@“%s”,func);
[self addBtns];
}
return self;
}
- (void)awakeFromNib
{
NSLog(@“%s”,func);
}
-(void)addBtns
{
NSLog(@“%s”,func);
for (int i=0; i<9; i++) {
UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom];
//设置普通状态下的图片
[button setImage:[UIImage imageNamed:@“gesture_node_normal”] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@“gesture_node_highlighted”] forState:UIControlStateSelected];
//[button addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchDown];
//不允许用户交互
button.userInteractionEnabled=NO;
[self addSubview:button];
}
}
//触摸点坐标
-(CGPoint)pointWithTouches:(NSSet *)touches
{
UITouch *touch=[touches anyObject];
return [touch locationInView:self];
}
//获取触摸按钮
-(UIButton *)buttonWithPoint:(CGPoint)pos
{
for (UIButton *btn in self.subviews) {
if (CGRectContainsPoint(btn.frame, pos)) {
return btn;
}
}
return nil;
}
//开始触摸时
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//当前触摸点
CGPoint pos=[self pointWithTouches:touches];
//获取触摸按钮
UIButton *btn=[self buttonWithPoint:pos];
if (btn) { //有触摸点地方才需要选中
btn.selected=YES;
}
}
- (void)touchesMoved:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
//当前触摸点
CGPoint pos=[self pointWithTouches:touches];
//获取触摸按钮
UIButton *btn=[self buttonWithPoint:pos];
if (btn) { //有触摸点地方才需要选中
btn.selected=YES;
}
}
-(void)layoutSubviews
{
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
资深开发者,这些资料都将为你打开新的学习之门**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!