限定pan手勢只能在圓內移動view
效果:
雖然看起來很簡單,但實現原理還是稍微有點複雜-_-!!
核心的地方,就是需要計算pan手勢的點與指定點的距離,不能超過這個距離,超過了就讓動畫還原,很容易理解:)
//核心**處://circle
////
//#import
"rootviewcontroller.h
"@inte***ce
rootviewcontroller ()
@end
@implementation
rootviewcontroller
- (void
)viewdidload
; circlelayer.position =self.view.center;
circlelayer.cornerradius = 250/2
.f; circlelayer.opacity = 0.5f
; circlelayer.backgroundcolor =[uicolor orangecolor].cgcolor;
[self.view.layer addsublayer:circlelayer];
//移動手勢
uipangesturerecognizer *pan =\
[[uipangesturerecognizer alloc] initwithtarget:self
action:@selector(gestureevent:)];
//用於移動用的view
uiview *move = [[uiview alloc] initwithframe:(cgrect)];
move.backgroundcolor =[uicolor cyancolor];
move.center =self.view.center;
move.layer.cornerradius = 50/2
.f; [move addgesturerecognizer:pan];
[self.view addsubview:move];
}- (void)gestureevent:(uipangesturerecognizer *)gesture
]; }
//狀態改變
if (gesture.state ==uigesturerecognizerstatechanged)
else
completion:^(bool finished) ];}}
//結束
if (gesture.state ==uigesturerecognizerstateended)];}
}@end
1. 計算座標值
2. 距離超出指定範圍的時候就必須要關閉pan手勢並執行動畫,動畫結束後再開啟pan手勢,相當重要哦.
限定pan手勢只能在圓內移動view
限定pan手勢只能在圓內移動view 效果 雖然看起來很簡單,但實現原理還是稍微有點複雜 核心的地方,就是需要計算pan手勢的點與指定點的距離,不能超過這個距離,超過了就讓動畫還原,很容易理解 rootviewcontroller.m circle import rootviewcontroller...
Kettle Kitchen和Pan的命令列引數
引數語法 name value 引數以斜線 或者橫線 開頭,後面跟引數名稱。大部分引數後面都要有引數值。引數和引數值之間用冒號 或者 連線,引數值裡面如果有空格,引數值必須用單引號或雙引號引起來。kitchen和pan共有的引數如下 引數名引數含義 作用norep rep資源庫名稱 要連線的資源庫名...
個域網(PAN)技術
個人域網 pan 技術,區域網,都會網路,廣域網。個人域網 pan 技術,個人區域網四種核心技術 能在可攜式消費電器與通訊裝置之間進行短距離通訊的網路。其覆蓋範圍一般在10公尺半徑以內。pan的優點在於 它能夠以一種無縫和透明的方式自動發現落在pos內的任何裝置,並與其建立連線。pan的範圍通常只有...