如何通过触摸移动图像并将其放置在iphone中的其他位置
我正在开发一个“配对正确”的答案应用程序 这里将有两个部分(例如动物和腿) 在动物区将有母鸡、狗、牛、狐狸等(这些选项将是静态的) 现在在支腿部分下面将有2,4,5,6等 2、4、5、6等为随机顺序 用户将假设选择“2”并移动到“hen”,则匹配是正确的,并将奖励一分 如果用户选择“2”并移动到“dog”,则比赛是错误的,不得分 因此,我如何实现移动功能,并检查正确的匹配 我希望我已经详细解释了我的疑问,如果没有,请原谅我,如果需要的话,我准备解释更多 谁能帮帮我吗如何通过触摸移动图像并将其放置在iphone中的其他位置,iphone,objective-c,Iphone,Objective C,我正在开发一个“配对正确”的答案应用程序 这里将有两个部分(例如动物和腿) 在动物区将有母鸡、狗、牛、狐狸等(这些选项将是静态的) 现在在支腿部分下面将有2,4,5,6等 2、4、5、6等为随机顺序 用户将假设选择“2”并移动到“hen”,则匹配是正确的,并将奖励一分 如果用户选择“2”并移动到“dog”,则比赛是错误的,不得分 因此,我如何实现移动功能,并检查正确的匹配 我希望我已经详细解释了我的疑问,如果没有,请原谅我,如果需要的话,我准备解释更多 谁能帮帮我吗 提前感谢因为它是静态的,所以
提前感谢因为它是静态的,所以我猜您将拥有每个标签(腿)的帧位置。您可以使用
touchesbeated:withEvent:
方法中的CGRectContainsPoint
查找已选择的标签
您可以通过在触摸移动:withEvent:
方法中连续设置标签的帧位置来移动标签
同样,您必须找到该标签是否与动物侧的任何标签相交
编辑:
要移动视图,请参见中的清单2-4,因为它是静态的,所以我猜每个标签(腿)的帧位置都是静态的。您可以使用
touchesbeated:withEvent:
方法中的CGRectContainsPoint
查找已选择的标签
您可以通过在触摸移动:withEvent:
方法中连续设置标签的帧位置来移动标签
同样,您必须找到该标签是否与动物侧的任何标签相交
编辑:
要移动视图,请参见中的清单2-4。如果不需要拖动它,只需为腿部部分设置一些按钮,并使用随机变量为它们设置标题(或任何图像)。在该按钮的回调中,“记住”按下了哪些按钮(可选,将其他按钮userIntractionAnabled属性设置为“否”)。然后,为你的动物区做更多的按钮。当用户按下其中一个tham时,只需将腿部按钮移动到任何位置:
[UIView animateWithDuration:1 animations:^{
[button setCenter:CGPointMake(X, Y)];
}];
以防万一:
在按钮回调中有一个“发件人”值。这个按钮按下了。因此,您可以使用它:
[UIView animateWithDuration:1 animations:^{
[sender setCenter:CGPointMake(X, Y)];
}];
如果您不需要拖动它,只需为legs部分设置一些按钮,并使用随机变量为它们设置标题(或任何图像)。在该按钮的回调中,“记住”按下了哪些按钮(可选,将其他按钮userIntractionAnabled属性设置为“否”)。然后,为你的动物区做更多的按钮。当用户按下其中一个tham时,只需将腿部按钮移动到任何位置:
[UIView animateWithDuration:1 animations:^{
[button setCenter:CGPointMake(X, Y)];
}];
以防万一:
在按钮回调中有一个“发件人”值。这个按钮按下了。因此,您可以使用它:
[UIView animateWithDuration:1 animations:^{
[sender setCenter:CGPointMake(X, Y)];
}];
.h视图控制器
@interface TouchViewController : UIViewController {
IBOutlet UIView *viewImage;
IBOutlet UILabel *touchesLabel;
CGPoint lastPoint;
}
@property (nonatomic, retain) IBOutlet UIView *viewImage;
@property (nonatomic, retain) IBOutlet UILabel *touchesLabel;
-(void) redrawView:(CGPoint) lpoint;
@end
in.m实现文件
@implementation TouchViewController
@synthesize touchesLabel,viewImage;
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
lastPoint = [touch locationInView:self.view];
[self redrawView:lastPoint];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
lastPoint = [touch locationInView:self.view];
[self redrawView:lastPoint];
}
-(void) redrawView:(CGPoint) lpoint
{
viewImage.frame=CGRectMake(lpoint.x, lpoint.y, 40, 30);
}
- (void)dealloc {
[viewImage release];
[touchesLabel release];
[super dealloc];
}
@end
*注意ViewImage是UIView类型,但包含图像…您能告诉我如何在stackoverflow上上载,以便我在这里上载项目(如果您需要)。.h viewController
@interface TouchViewController : UIViewController {
IBOutlet UIView *viewImage;
IBOutlet UILabel *touchesLabel;
CGPoint lastPoint;
}
@property (nonatomic, retain) IBOutlet UIView *viewImage;
@property (nonatomic, retain) IBOutlet UILabel *touchesLabel;
-(void) redrawView:(CGPoint) lpoint;
@end
in.m实现文件
@implementation TouchViewController
@synthesize touchesLabel,viewImage;
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
lastPoint = [touch locationInView:self.view];
[self redrawView:lastPoint];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
lastPoint = [touch locationInView:self.view];
[self redrawView:lastPoint];
}
-(void) redrawView:(CGPoint) lpoint
{
viewImage.frame=CGRectMake(lpoint.x, lpoint.y, 40, 30);
}
- (void)dealloc {
[viewImage release];
[touchesLabel release];
[super dealloc];
}
@end
*注意ViewImage是UIView类型,但包含图像…您能告诉我如何在stackoverflow上上载,以便我可以在此处上载项目(如果需要)。是否需要将其拖动?或者只是移动?你需要拖动它吗?或者只是移动?我是第一次实现这一点。你能为这一点建议任何教程或示例代码吗?谢谢你的帮助。你能告诉我检测正确匹配的代码吗?我是第一次实现这一点。你能为这一点建议任何教程或示例代码吗。,谢谢你的帮助。你能告诉我检测正确匹配的代码吗。你能更详细地告诉我如何检测正确匹配,即狗-4。你可以将标签设置为所有腿部按钮和动物按钮([button setTag:(任意数字)];)并查看按下按钮的标签,你能更详细地告诉我如何检测正确的匹配,即狗-4。你可以将标签设置为所有腿部按钮和动物按钮([button setTag:(任意数字)];)并查看按下按钮的标签触摸视图后,你可以获得点坐标,然后重置图像框架。我这样做是为了一个UIImageView。通常对所有图像执行此操作,然后如果要垂直对齐,请检查正确的图像对是否具有相同的y坐标和+/-10点错误。@coolanikothari,非常感谢。但我想要的是拖动图像并将其放置在不同的位置。请告诉我如何实现。触摸视图后,您可以获得点坐标,然后重置图像的帧。我这样做是为了一个UIImageView。通常对所有图像执行此操作,然后检查正确的图像对是否具有相同的y坐标,如果要垂直对齐,请检查+/-10点错误。@coolanikothari,非常感谢。但我想要的是拖动图像并将其放置在不同的位置。请告诉我如何实现此操作。