2010-07-01 31 views
2

我已經創建了不同的按鈕,並用帶有照片的數組作爲背景圖像初始化它們。如何從按鈕獲取backgroundImage的名稱?

UIButton* myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[myButton setBackgroundImage:[UIImage imageNamed: (NSString*) obj ] forState:UIControlStateNormal]; 
[myButton addTarget:nil action:@selector(buttonDown:) forControlEvents:UIControlEventTouchUpInside]; 

Here's我的buttonDown法:

-(void) buttonDown:(UIButton*) sender { 
NSLog(@"pressed: %@", sender.currentBackgroundImage );} 

這追溯到我說: 「按:<的UIImage:0x6625c40>」

現在我想知道我怎麼可以得到任何點擊的按鈕的圖像名稱? 會很高興知道。感謝您的時間。

回答

5

由於UIImage不存儲它包含的圖像的名稱,所以不能。您必須將自己的名字存儲在按鈕或圖像的關係中。

問候

+0

謝謝,我已經創建了UIButton的一個子類,併爲此添加了一個新方法。謝謝你的提示.. – geforce 2010-07-05 14:50:11

6

我試圖讓UIbutton的背景imageName是這樣的, 設置UIButtontitle相同映像名稱是和設置的button labelhidden propertyYES。 (I用iCarousel

button.titleLabel.text=[imageArray objectAtIndex:index]; 
button.titleLabel.hidden=YES; 
[button addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside]; 

buttonTapped

UIButton *button=(UIButton*)sender; 

NSLog(@"The button title is %@",sender.titleLabel.text); 
// UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Button Tapped Is" message:sender.titleLabel.text delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK",nil]; 
//[alert show]; 

沃金精。