2012-11-25 78 views
-2

我的程序中有很多自定義按鈕,我需要使用方法來獲取它們的名稱。我已經想出瞭如何通過他們的標籤獲取他們的名字,但只有一個指向它的指針。我需要的是一個字符串中的名字。將UIButton對象名稱轉換爲字符串格式

我使用的是什麼樣的繼承人:

-(void)pickRandomToHide { 
    for (int check = 1; check <=5; check++) 
    { 
     int eventNumber = 1 + arc4random() % 43; 
     UIButton *pick; 
     pick = (UIButton *)[_mapImageView viewWithTag:eventNumber]; 
     [pick setAlpha: 0.5]; 
     NSString *buttonName; 
     buttonName = [pick currentTitle]; 
     NSLog(@"%@",buttonName); 
    } 
} 

的NSLog的只是給 '空' 的五倍。但5個按鈕正在消失,所以開始工作。

回答

1

如果我理解正確,您希望能夠檢索您分配對象的變量名稱。
這是不可能的,因爲在編譯過程中變量名將被其他符號替換。

而且它只是沒有必要,因爲你總是可以跟蹤的指針。如果你的代碼取決於變量名稱,你做了一些可怕的錯誤。

+0

啊好吧謝謝,我想我不得不爲每個按鈕設置一個標題。我沒有做錯任何事情,我只需要按鈕來更改事件上的圖片。圖像是按鈕名稱+顏色在結尾處,所以我想我只是檢索對象名稱並將顏色附加到它,然後將其用於setBackGroundImage: – PappaSmalls

1

你是指什麼按鈕的「名稱」?你的意思是它上面的文字?你可以使用UIButton的textLabel屬性,它將返回一個UILabel。然後,您可以閱讀該標籤的text屬性以獲取該按鈕的標題。總之:

NSString *buttonName = pick.titleLabel.text; 
+1

標籤被稱爲'titleLabel'and我覺得這個代碼與currentTitle方法 – Felix

+0

@Scott不一樣的效果,我希望得到實際的UIButton的對象名稱。所以如果UIButton * button1;我想buttonName = @「button1」;從我的例子。 – PappaSmalls