簡體   English   中英

更新UISnapBehavior點

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM