我正在寫一個可以在屏幕上拖動的自定義UIButton。當我按下這個按鈕時,uview會被添加到superview中。我爲這個視圖添加了平移手勢,所以它也可以拖動。 現在我想讓uiview和按鈕同時拖動。我怎樣才能做到這一點?
例如:
當按鈕移動時移動uiview
0
A
回答
1
我將封裝的按鈕並在父透明的UIView的圖。將平移手勢添加到它並移動它們兩者然後移動。
+0
我想到這個解決方案。但我的自定義按鈕總是在屏幕上浮動,並有公共方法從其他課程調用。因此,當您按下此按鈕時,我必須將其添加到視圖中,不是嗎? –
0
我試着爲你的應用程序的示例代碼。它完美的作品。當你拖動按鈕,視圖也同時移動。
首先我創建了按鈕和UIView.I連接起來。
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIButton *btnDragg;
- (IBAction)actionDragg:(id)sender;
@property (strong, nonatomic) IBOutlet UIView *viewDrag;
@end
ViewController.m
#import "ViewController.h"
@interface ViewController()
@end
@implementation ViewController
@synthesize btnDragg,viewDrag;
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIPanGestureRecognizer *panRecognizer;
panRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(wasDragged:)];
panRecognizer.cancelsTouchesInView = YES;
[btnDragg addGestureRecognizer:panRecognizer];
}
- (void)wasDragged:(UIPanGestureRecognizer *)recognizer
{
UIButton *button = (UIButton *)recognizer.view;
CGPoint translation = [recognizer translationInView:button];
CGPoint translationView = [recognizer translationInView:viewDrag];
button.center = CGPointMake(button.center.x + translation.x, button.center.y + translation.y);
viewDrag.center = CGPointMake(viewDrag.center.x + translationView.x, viewDrag.center.y + translationView.y);
[recognizer setTranslation:CGPointZero inView:button];
[recognizer setTranslation:CGPointZero inView:viewDrag];
}
相關問題
- 1. 當文字很長時按鈕移動
- 2. 按鈕在創建移動的新按鈕時停止移動
- 3. javascript,超時,按鈕,移動。
- 4. 當UITextField被選中時移動UIView
- 5. 如何通過長按按鈕移動UIView,然後拖動?
- 6. 移動包含按鈕的UIView停止按鈕響應
- 7. jquery移動按鈕
- 8. 按鈕移動seekbar
- 9. 移動按鈕欄
- 10. UIView移動
- 11. IOS7移動UIView
- 12. Android:按鈕移動動畫
- 13. 從UIView移動到按鈕動作中的視圖控制器
- 14. 無法移動UIView
- 15. 移動一個UIView
- 16. ObjC:移動的UIView
- 17. UIView:旋轉+移動
- 18. UIView窗口移動
- 19. 當按Tab鍵時光標不移動到下一個按鈕
- 20. 當按鈕按下時移動字符/照相機的功能
- 21. 不能移動UIScrollView,當它按下並拖動按鈕
- 22. 用觸摸移動UIImageview在UIView中按下任意位置時移動IOS
- 23. 按鈕移動點擊
- 24. Android - 用setTransationX()移動按鈕
- 25. 按鈕向下移動
- 26. 在viewDidLoad中移動按鈕
- 27. Flex移動後退按鈕
- 28. 按鈕移動相機THREE.js
- 29. 不能移動按鈕
- 30. 正在移動CTA按鈕
設置你的UIView框架尊重你的UIButton像UIView.center.x = UIButton.center.x + 20像這樣並且在按鈕移動時更新它,所以它總是隨着按鈕移動。 –
兒子檢查我的code.It正常 – user3182143