1

我必须生成 11 到 20 之间的随机数并将其存储在按钮中。每次生成随机数和在 iPhone 中滑动两个图像的随机数,例如,如果随机数为 12,则图像滑动 12 次然后滑动将是停了下来。

我已经生成了随机数,但无法使用随机数滑动图像。

这是我的代码

-(IBAction)btngeneratePressed:(id)sender{



number = 1 + arc4random() % 10 + 10;


for (int j=1;j<number-1;j++)  // generate unique random number only once
{



    NSArray *myImageNames = [NSArray arrayWithObjects:@"1.png", @"2.png", nil];
    //int index = arc4random() % [myImageNames count];

    int index = arc4random() % 2;

    UIImage *myImage = [UIImage imageNamed:[myImageNames objectAtIndex:index]];
    img.image = myImage;




    if(number == j){

        NSLog(@"Number %d ",j);

        UIAlertView *someError = [[UIAlertView alloc] initWithTitle: @"Rendom number" message: @"Image swip" delegate: self cancelButtonTitle: @"Ok" otherButtonTitles: nil];

        [someError show];
        [someError release];
        break;


    }

}
}


- (void)viewDidLoad
{

    number = 1 + arc4random() % 10 + 10;


    NSString *string=[NSString stringWithFormat:@"%i",number];


    int p=string;




    label.text = string;




    for(int j=1;j<number-1;j++)

    {   



        UISwipeGestureRecognizer *recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self 
                                                                                         action:@selector(btngeneratePressed:)]; 
        [recognizer setDirection:(UISwipeGestureRecognizerDirectionLeft)];
        recognizer.numberOfTouchesRequired = 1;
        recognizer.direction=UISwipeGestureRecognizerDirectionLeft;
        [self.view addGestureRecognizer:recognizer];
        [recognizer release];    

        //Add a right swipe gesture recognizer
        recognizer = [[UISwipeGestureRecognizer alloc] initWithTarget:self 
                                                               action:@selector(btngeneratePressed:)];
        recognizer.numberOfTouchesRequired = 1;
        recognizer.delegate = self;

        [recognizer setDirection:(UISwipeGestureRecognizerDirectionRight)];
        [self.view addGestureRecognizer:recognizer];
        [recognizer release]; 


        if(number == j){

            NSLog(@"Number %d ",j);

            UIAlertView *someError = [[UIAlertView alloc] initWithTitle: @"Rendom number" message: @"Image swip" delegate: self cancelButtonTitle: @"Ok" otherButtonTitles: nil];

            [someError show];
            [someError release];
            break;

        }




    }


}
4

1 回答 1

1

我不完全理解您要做什么,但是我会通过将其分解为块来解决问题,而不是尝试一次全部完成,然后一切都混乱了。

将伪随机唯一数生成器作为一次任务整理出来,并将其封装在一个类/方法中。弄清楚如何滑动图像并捕捉/计数单次,然后多次滑动 整理图像显示 将它们连接在一起

就目前而言,您正在生成 1 号滑动手势识别器,这绝对是不正确的。你想要一个。

每次调用 btngeneratePressed: 时都会重新生成所有图像,这绝对是低效且缓慢的。

将问题分解为离散的部分并解决每个部分,以构建您需要的最终解决方案。

于 2012-10-15T07:44:35.110 回答