我在xcode上创建了一个应用程序并在iOS模拟器上进行了测试,它可以按我的意愿运行。我现在连接了iPad,所以我可以对它进行测试。当我在iPad上运行应用程序时,它表现不同。 iOS模拟器上没有的某些功能在iPad上。其中一些根本不起作用。是兼容性问题还是其他问题?
我的应用基本上包括在另一个imageViews
上拖动ImageView
作为答案框,并计算被拖动的imageViews
的数量。我有不同类型的imageViews
可以在不同的答案imageViews
上进行拖动。如果拖动到不正确的imageView
,则会松散点,imageView
会重置回其原始位置。在iPad上运行,您可以将1 imageView
拖到正确的答案imageView
,然后点击答案imageView
以获得最大分数(这不应该发生)也会在释放拖动后{ {1}}它假设重置回原来的位置,除非它到达目的地,但在iPad上则没有。并在正确答案imageView
上拖动一个imageView
,它会将其中一个添加到其他答案imageView
,而且不应该
拖动按钮的代码:
imageView
用于设置可拖动 for (UIImageView *symbol in symbols1) {
if (CGRectIntersectsRect(symbol.frame ,answer1.frame)) {
symbol.userInteractionEnabled = NO;
symbol.hidden = YES;
intersectionCount1++;
score1=score1+10;
break;
}
else if (CGRectIntersectsRect(symbol.frame, answer2.frame)){
symbol.userInteractionEnabled = YES;
symbol.hidden = NO;
score1=score1-10;
break;
}
else if (CGRectIntersectsRect(symbol.frame, answer3.frame)){
symbol.userInteractionEnabled = YES;
symbol.hidden = NO;
score1=score1-10;
break;
}
else if (CGRectIntersectsRect(symbol.frame, answer4.frame)){
symbol.userInteractionEnabled = YES;
symbol.hidden = NO;
score1=score1-10;
break;
}
}
if (intersectionCount1 == 1) {
UIImage *Pic1 = [UIImage imageNamed:@"number1.png"];
[correctCounter12 setImage:Pic1];
//score1=score1+10;
}
else if (intersectionCount1 == 2) {
UIImage *Pic2 = [UIImage imageNamed:@"number2.png"];
[correctCounter12 setImage:Pic2];
//score1=score1+10;
}
else if (intersectionCount1 == 3) {
UIImage *Pic3 = [UIImage imageNamed:@"number3.png"];
[correctCounter12 setImage:Pic3];
// score1=score1+10;
}
else if (intersectionCount1 == 4) {
UIImage *Pic4 = [UIImage imageNamed:@"number4.png"];
[correctCounter12 setImage:Pic4];
// score1=score1+10;
}
位置并将其放入数组的代码。
imageView
请注意,我没有为不同的imageView添加整个代码,因为它是相同的,并且需要大量的代码行。
编辑解决方案:
我弄清楚是什么造成的。我需要为每个- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *myTouch =[[event allTouches]anyObject];
CGPoint location= [myTouch locationInView:self.view];
if ([myTouch view]==symbol1) {
symbol1.center=location;
}else if([myTouch view]==symbol12){
symbol12.center=location;
}else if([myTouch view]==symbol13){
symbol13.center=location;
}else if([myTouch view]==symbol14){
symbol14.center=location;
self.symbols1 = @[symbol1, symbol12, symbol13, symbol14, symbol15, symbol16, symbol17, symbol18, symbol19];
self.symbols2 = @[symbol2, symbol22, symbol23, symbol24, symbol25, symbol26, symbol27, symbol28, symbol29, symbol210];
self.symbols3 = @[symbol3, symbol32, symbol33, symbol34, symbol35, symbol36, symbol37, symbol38, symbol39];
self.symbols4 = @[symbol4, symbol42, symbol43, symbol44, symbol45, symbol46, symbol47, symbol48];
设置CGPoint,以便重置回其位置。似乎模拟器会在iPad需要代码的情况下自动完成。