2012-08-13 20 views

回答

0

我假設的iOS因爲我比OS X.更熟悉它

爲了使視圖可拖動,檢測觸摸使用以下三種方法拖動:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; 
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; 

訣竅是你應該將觸摸的位置存儲在視圖的超級視圖中,然後在第二種方法中相應地更新視圖本身的位置。當您檢測到視圖的中心或原點到達某個點時(不要使用==檢查它,對於浮點數不適用,請使用一些小的epsilon來檢測視圖是否位於期望的區域內),您可以在視圖上設置一個布爾標誌,然後檢查touchesMoved方法中的布爾標誌,而不再更新視圖的位置。

+0

謝謝你的迴應....但我會在哪裏放置代碼?我真的很抱歉,我對xcode真的很陌生....如果你能提供一個示例代碼,真的會真的成爲一個救生員... – imkakoy 2012-08-13 14:53:23

+0

@imkakoy你需要繼承UIView並把所有的代碼放在這個子類中。對不起,但我有點匆忙,所以我現在不能爲你寫一個完整的可拖動的UIView(反正它不是這樣),但我可以爲你提供兩個方法名,以便在官方的Apple文檔中進行grep :[NSSet anyObject]和[UIView locationInView:]。 – 2012-08-13 15:13:09

+0

@ H2C03謝謝......我真的希望這可以幫助我....再次感謝你 – imkakoy 2012-08-13 15:18:47

相關問題