Създадох малко тестово приложение за прилагане на панорамен жест върху UIButton. Приложих успешно панорамния жест и успях да преместя бутона. Но проблемът е, че мога да преместя бутона дори извън екрана. Как да го обвържа да се движи само в рамките на екрана на iPhone? Ето моят код:
- (void)viewDidLoad
{
[super viewDidLoad];
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
[panGesture setMinimumNumberOfTouches:1];
[_shareButton addGestureRecognizer:panGesture];
}
-(IBAction)pan:(UIPanGestureRecognizer *)recognizer
{
CGPoint trans =[recognizer translationInView:self.view];
recognizer.view.center = CGPointMake(recognizer.view.center.x+trans.x, recognizer.view.center.y+trans.y);
[recognizer setTranslation:CGPointMake(0, 0) inView:self.view];
}
Как да огранича бутона да излиза извън екрана? Използвам iOS 7, xcode 5.0.