手勢解鎖demo

2021-07-10 16:51:04 字數 1607 閱讀 2686

#import "lsbackview.h"

@inte***ce lsbackview()

@property(nonatomic,strong)nsmutablearray *btnarray;

@property(nonatomic,strong)nsmutablearray *selectionarray;

@property(nonatomic,assign)cgpoint lastpoint;

@property(nonatomic,strong)uicolor *linecolor;

@end

@implementation lsbackview

-(uicolor *)linecolor

return _linecolor;

}-(nsmutablearray *)selectionarray

return _selectionarray;

}-(nsmutablearray *)btnarray

}return _btnarray;

}-(instancetype)initwithframe:(cgrect)frame

}return self;

}-(void)drawrect:(cgrect)rectelse

}if (self.selectionarray.count>0)

[self.linecolor set];

[path stroke];

}-(void)touchesbegan:(nsset*)touches withevent:(uievent *)event

//    }

for (uitouch *touch in touches) }}

[self setneedsdisplay];

}-(void)touchesmoved:(nsset*)touches withevent:(uievent *)event

}[self setneedsdisplay];

}//-(void)touchesended:(nsset*)touches withevent:(uievent *)event

-(void)touchesended:(nsset*)touches withevent:(uievent *)event

if ([str isequaltostring:@"012"]) else

dispatch_after(dispatch_time(dispatch_time_now, (int64_t)(1 * nsec_per_sec)), dispatch_get_main_queue(), ^);}}

-(void)clear

[self.selectionarray removeallobjects];

[self setneedsdisplay];

}@end

最容易出坑的地方

cgrectcontainpoint方法

還有在drawrect方法裡新增線段的方法

設定陣列新增線段的方法

最後血淋淋呀,還有新增選擇按鈕進陣列的時候,如果沒有!btn.highlighted這個條件,密碼始終是列印一堆,人都要瘋了

新增線段注意寫在括號的裡外問題,注意呀 注意

iOS 小的Demo 簡單的手勢解鎖實現

晴川歷歷漢陽樹,芳草萋萋鸚鵡洲 好運蛋 先上效果圖 密碼是3548 前奏 這個可以說是在簡易的畫板之上,增加一些判斷就可以完成,首先我們肯定需要九個圓圈的放置,我思考的就是用九個 uiview 迴圈的方法布置一下各自位置 畫圖 乙個簡單的想法就是,在九個 view 所屬的大 view 畫線,只要經過...

Swift之手勢解鎖

1 繪製九宮格樣式的按鈕組 建立九宮格按鈕組 func createbutton var secret 0 for row in 0.2 for col in 0.2 設定九個按鈕的位置,let buttondistance 100 間距 let firstbtnpointx 0 第乙個按鈕的x l...

canvas手勢解鎖思路

參考 基本要求是這樣的 將密碼儲存到 localstorage 裡,開始的時候會從本地讀取密碼,如果沒有就讓使用者設定密碼,密碼最少為五位數,少於五位要提示錯誤。需要對第一次輸入的密碼進行驗證,兩次一樣才能保持,然後是驗證密碼,能夠對使用者輸入的密碼進行驗證。一 新建畫布,指定寬度,每行排列3個圓,...