если вы хотите передать функцию касания второму графику (большому), я думаю, вы можете сделать что-то вроде этого
в .h, вы должны объявить изображения, которые вы собираетесьперетаскивать и перемещать переменную, чтобы запомнить предыдущую точку перетаскиваемой кнопки (я предполагаю, что вы используете IOS 5 SDK)
@property(nonatomic, strong) UIImageView* myImage;
@property float pointX;
@property float pointY;
, затем, на .m вы можете сделать это
myImage = [[UIImageView alloc]initWithImage:@"appleImage.jpg"];
myImage.alpha = 0;
//default UIImageView interaction is disabled, so lets enabled it first
myImage.userInteractionEnabled = YES;
[button addTarget:self action:@selector(wasDragged:withEvent:) forControlEvents:UIControlEventTouchDragInside];
и затем сделайте функцию перетаскивания
- (void)wasDragged:(UIButton *)button withEvent:(UIEvent *)event
{
self.myImage.alpha = 0.5;
UITouch *touch = [[event touchesForView:button] anyObject];
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, to keep the dragging effect
button.center = CGPointMake(button.center.x + delta_x,
button.center.y + delta_y);
// moving the image
button.center = CGPointMake(button.center.x + delta_x,
button.center.y + delta_y);
self.pointX = previousLocation.x;
self.pointY = previousLocation.y;
[button addTarget:self action:@selector(dragRelease:withEvent:) forControlEvents:UIControlEventTouchUpInside];
}
, наконец, сделайте функцию dragRelease, где вы вернете кнопку в исходное положение и установите альфа изображений на 1
-(void)dragRelease:(UIButton *)button withEvent:(UIEvent *)event
{
self.myImage.alpha = 1;
button.center = CGPointMake(pointX, pointY);
}
ивсе готово: 3
это просто основная идея, хотя, может быть, это не то, что вы хотите, но я надеюсь, что это поможет
edit *: о, и не забудьтесинтезировать все свойства, также если вы используете SDK ниже 5.0, вы можете изменить свойство "strong" на "сохранить"