[英]Update UISnapBehavior Point
在我的應用中,我有小的視圖可以通過拖動來移動。 當用戶開始在其中一個小視圖上拖動時,它會保留在原處,但會“拉伸”一定距離(約200點)。 超過該距離后,小視圖應對用戶的手指執行“捕捉”效果。 最好將整個動畫描述為橡皮筋斷裂。
到目前為止,我已經實現了如下捕捉效果:
UISnapBehavior *snapBehavior = [[UISnapBehavior alloc] initWithItem:iconView snapToPoint:[[touches anyObject] locationInView:self.view]];
[self.snapAnimator addBehavior:snapBehavior];
問題是,如果用戶在執行快照動畫時繼續移動其手指,則視圖將繼續朝着效果開始時手指所在的點移動。
觸摸時有什么方法可以更新UISnapBehavior的目的地?
不,沒有。 捕捉行為非常簡單:可以立即捕捉到您所說的那樣。 這就是全部。 一種行為,一分,一項,一擊。
因此,您將需要刪除捕捉行為並將不同的捕捉行為替換為不同的點。 或使用另一種行為,即您可以在用戶的手指移動時移動目標點的行為(例如UIAttachmentBehavior)。
在iOS 9及更高版本中,可以。 現在有:
@property (nonatomic, assign) CGPoint snapPoint NS_AVAILABLE_IOS(9_0);
它按預期工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.