0
我想製作一個滑動按鈕,因此當用戶從右向左滑動按鈕時,按鈕也會從右向左繪製,最後它會推動另一個視圖,任何人都可以提供示例代碼它。製作一個滑動按鈕
我想製作一個滑動按鈕,因此當用戶從右向左滑動按鈕時,按鈕也會從右向左繪製,最後它會推動另一個視圖,任何人都可以提供示例代碼它。製作一個滑動按鈕
// make button
UIButton*btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setFrame:CGRectMake(50, 50, 50, 50)];
[btn addTarget:self action:@selector(wasDragged:withEvent:)
forControlEvents:UIControlEventTouchDragInside];
[self.view addSubview:btn];
// here swipe buttons
- (void)wasDragged:(UIButton *)button withEvent:(UIEvent *)event
{
// get the touch
UITouch *touch = [[event touchesForView:button] anyObject];
// get delta
CGPoint previousLocation = [touch previousLocationInView:button];
CGPoint location = [touch locationInView:button];
CGFloat delta_x = location.x - previousLocation.x;
CGFloat delta_y = location.y - previousLocation.y;
// move button
CGPoint moveBtnCenter = CGPointMake(button.center.x + delta_x,
button.center.y + delta_y);
button.center = moveBtnCenter;
NSArray* allSubViews = [self.view subviews];
for (UIView*subView in allSubViews)
{
if ([subView isKindOfClass:[UIButton class]])
{
CGPoint subViewCenter = subView.center;
if (CGPointEqualToPoint(moveBtnCenter, subViewCenter))
{
subView.center = previousLocation;
}
}
}
}
如果你接受你的問題的正確答案,人們會更傾向於幫助你。此外,諸如「我想要這樣做,給我代碼」等問題通常不會在SO上面張開雙臂。這裏有一篇關於iOS中的手勢識別器的好文章,以幫助您入門:http://iphonedevelopertips.com/event-handling/gestures-recognizers-tap-pinchzoom-rotate-swipe-pan-long-press.html – bschultz 2012-02-06 20:21:53
你不知道,你點擊你問題最佳答案旁邊的複選標記。它會變成綠色,讓你和其他人知道這是最好的答案。答案者獲得聲望點,而且你也得到了一些分數。點擊你自己的名字,向下滾動查看你以前的問題,其中一些問題有相當不錯的答案! – 2012-02-06 20:28:50
謝謝你們兩位 – Jprat 2012-02-06 20:35:07