2013-05-18 185 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]; 
}