У меня есть этот образ, который UIButton:Stretch изображение на верхней части кнопки, чтобы нажать View Controller
Я хочу, чтобы добавить какой-то жест (панорамирование жест) сдвиньте его в правильно, и я хочу, чтобы изображение растянуть вправо также как это:
это очень похоже на «Слайд для разблокировки» на iPhone в методы, но без того же изображения, что движется вокруг слева направо.
Возможно ли это?
EDIT:
Я добавил UIPanGestureRecognizer к моей кнопке, как это:
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(buttonDidDragged:)];
[self.buttonAbout addGestureRecognizer:panGesture];
self.buttonFrame = self.buttonAbout.frame;
Также я сохранил кнопку кадра в CGRect.
Теперь это методы «buttonDidDragged», но у меня также есть проблема, кнопка, похоже, идет вправо, но изображение остается тем же. он не растянется.
- (IBAction)buttonDidDragged:(UIPanGestureRecognizer*)gesture
{
CGPoint translation = [gesture translationInView:self.view];
// gesture.view.center = CGPointMake(gesture.view.center.x + translation.x, gesture.view.center.y);
NSLog(@"%f",gesture.view.frame.origin.x + gesture.view.frame.size.width);
gesture.view.frame = CGRectMake(gesture.view.frame.origin.x,
gesture.view.frame.origin.y,
gesture.view.frame.size.width + translation.x,
gesture.view.frame.size.height);
UIButton *button = (UIButton*)gesture.view;
UIImage *buttonImage = [UIImage imageNamed:@"about_us_button.png"];
buttonImage = [buttonImage resizableImageWithCapInsets:UIEdgeInsetsMake(0, 80, 0, 0)];
[button setImage:buttonImage forState:UIControlStateNormal];
[button setImage:buttonImage forState:UIControlStateHighlighted];
if (gesture.state == UIGestureRecognizerStateEnded)
{
[UIView animateWithDuration:0.5
delay:0
options:UIViewAnimationOptionCurveEaseOut
animations:^{
CGPoint finalPoint = CGPointMake(self.buttonFrame.origin.x + (self.buttonFrame.size.width/2),
self.buttonFrame.origin.y + (self.buttonFrame.size.height/2));
// gesture.view.center = finalPoint;
button.frame = newFrame; // This is where you change the frame of the button to make it stretch.
} completion:nil];
}
[gesture setTranslation:CGPointMake(0, 0) inView:self.view];
}
ребята, я не работаю, но, во-первых, в воскресенье я проверю ответы. Большое спасибо всем вам! –
вы проверили? – Venkat