我是noos在ios開發。我需要一些幫助。我有自定義UIButton與圖片「箭頭」,所以我需要通過按下並移動手指在+360克旋轉此按鈕。和-360克,如指南針箭頭。如何通過點擊並按住來旋轉UIButton(按住 - 用手指旋轉)
0
A
回答
0
這是使旋轉的代碼。
-(void)LongPress:(UILongPressGestureRecognizer *)gesture { CGPoint p = [gesture locationInView:self.view]; CGPoint zero; zero.x = self.view.bounds.size.width/2.0; zero.y = self.view.bounds.size.height/2.0; CGPoint newPoint; newPoint.x = p.x - zero.x; newPoint.y = zero.y - p.y; CGFloat angle; angle = atan2(newPoint.x, newPoint.y); self.myButton.transform = CGAffineTransformRotate(CGAffineTransformIdentity, angle); }
0
詳細,你可以自定義一個rotateView,則:
1:在 「touchesBegan
」 委託方法,讓手指和initialAngle
的initialPoint
。
2:在 「touchesMoved
」,讓手指的newPoint
:
CGPoint newPoint = [[touches anyObject] locationInView:self];
[self pushTouchPoint:thePoint date:[NSDate date]];
double angleDif = [self angleForPoint:newPoint] - [self angleForPoint:initialPoint];
self.angle = initialAngle + angleDif;
[[imageView layer] setTransform:CATransform3DMakeRotation(angle, 0, 0, 1)];
3:最後,在 「touchesEnded
」 就可以計算出最終AngularVelocity
。
如果有什麼困惑,更詳細的信息,你可以回信。
相關問題
- 1. 如何旋轉跟隨手指的UIButton或UIImage視圖(觸摸並按住)?
- 2. UIButton - 觸摸並按住,點擊
- 3. 旋轉UIbutton,而他們居住在旋轉父視圖
- 4. 點擊並按住(長按)
- 5. Android手動旋轉ViewPager圖像(通過按鈕單擊)而不旋轉手機
- 6. iOS按住手勢+點擊
- 7. WinJS ListView點擊並按住
- 8. 如何旋轉UIImage點擊旋轉按鈕
- 9. 區分點擊並按住並點擊
- 10. 的MKMapView不是住旋轉
- 11. 記住按鈕點擊頁面轉換
- 12. UIButton按住
- 13. cocos2d-iPhone按鈕點擊並按住
- 14. 的UITableView點擊並按住+拖拽
- 15. jQuery - 旋轉圖片點擊並旋轉回下一次點擊
- 16. 通過點擊並按住禁用刪除應用程序
- 17. 旋轉按鈕上的圖像點擊
- 18. 旋轉按鈕上的CSS卡點擊
- 19. iphone:點擊按鈕將旋轉視圖
- 20. 點擊並按住列表框Windows Phone
- 21. 通過單擊按鈕來旋轉圖像視圖
- 22. 通過單擊按鈕來旋轉游戲對象
- 23. 使用WebDriver「點擊並按住」
- 24. 使用jQuery旋轉,請記住位置
- 25. 點擊並按住視覺提示
- 26. 即使我擋住風景旋轉,屏幕仍在旋轉
- 27. 旋轉按鈕
- 28. CGAffineTransform:旋轉UIButton調整按鈕圖像
- 29. UIButton檢測按住「手勢識別器」?
- 30. Jquery/Javascript單擊並按住