2013-05-18 128 views
1

我想随机更改UIButton的背景图像。我有一些图像(5),我想随意切换为UIButton的背景图像。我怎样才能实现这个?请帮我解决这个问题。随机更改UIButton背景图像

+0

'[BTN了setBackgroundImage:按钮画面forState:UIControlStateNormal]'设置使用这一点,但什么是你在找什么逻辑? – Buntylm

+0

其实我随意移动按钮,我想随机更改按钮背景图像....当我将点击butoon我需要增加ivalue取决于图像我会改变我的价值增加我如何执行dis .. – Balaji

回答

1

如何像这样

NSInteger randomNumber = arc4random_uniform(5); // random number, either 0,1,2,3 or 4 
UIImage *randomImage = [UIImage imageNamed:[NSString stringWithFormat:@"img%u.png",randomNumber]]; 

//UIButton *myButton; 
[myButton setBackgroundImage:randomImage forState:UIControlStateNormal]; 

替代的解决方案,也许更容易让你了解

NSInteger randomNumber = arc4random_uniform(5); // random number, either 0,1,2,3 or 4 
UIImage *randomImage; 

switch (randomNumber) { 
    case 0: 
     randomImage = [UIImage imageNamed:@"img0.png"]; 
     break; 
    case 1: 
     randomImage = [UIImage imageNamed:@"img1.png"]; 
     break; 
    case 2: 
     randomImage = [UIImage imageNamed:@"img2.png"]; 
     break; 
    case 3: 
     randomImage = [UIImage imageNamed:@"img3.png"]; 
     break; 
    case 4: 
     randomImage = [UIImage imageNamed:@"img4.png"]; 
     break; 
    default: 
     break; 
} 
//UIButton *myButton; 
[myButton setBackgroundImage:randomImage forState:UIControlStateNormal]; 

备查;你不应该问问你或多或少要求某人为你解决问题。包括你已经试过的东西,即使你只有伪代码。

0

试试这个

//give Your Image name is P0.png, P1.png, P2.png,P3.png, P4.png 
    int r = arc4random() % 5; 
    NSString *strImg=[NSString stringWithFormat:@"P%@.png",r]; 
    UIImage *Image; 
    Image = [UIImage imageNamed:strImg]; 
    [YourButton setBackgroundImage:Image forState:UIControlStateNormal]; 
0
//Create Array Of Images Name 
NSMutableArray *arrayOfImagesName=[[NSMutableArray alloc]initWithObjects:@"img1.png",@"img2.png",@"img3.png",nil]; 


//choose random image name from array 
    int rndNumber=arc4random() % [arrayOfImagesName count]; 

//set image to the button 
    [myButton setBackgroundImage:[UIImage imageNamed:[arrayOfImagesName objectAtIndex:rndNumber]] forState:UIControlStateNormal]; 
0

创建静态int变量设置它的值设置为0开始。当按钮点击发生时,将该变量的值增加1,并将该变量作为参数传递给切换大小写。编写代码来更改每种情况下的图像,并在静态变量的计数达到5时将其重置为0。

// write this at top of implementation file 
static int count = 0; 

//然后点击链接

{ 

UIImage *image; 

count++; 
switch(count) 
{ 
    case 1: 
      image = [UIImage imageNamed:@"pic1.png"]; 
      break; 
    case 2: 
      image = [UIImage imageNamed:@"pic2.png"]; 
      break; 
    case 3: 
      image = [UIImage imageNamed:@"pic3.png"]; 
      break; 
    case 4: 
      image = [UIImage imageNamed:@"pic4.png"]; 
      break; 
    case 5: 
      image = [UIImage imageNamed:@"pic5.png"]; 
      count = 0; 
      break; 
} 

    [button setBackgroundImage: image forState:UIControlStateNormal]; 
}