#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個圓,...