2014-06-07 30 views
13

我想學習一些swift。 我以編程方式添加標籤。我想稍後改變他們的屬性。UIView swift中的viewwithtag方法

viewwithtag方法返回一個UIView,如何從這裏訪問我的UILabel?

歡呼聲

+0

是不是UILabel一個UIView?想想吧 –

+0

Adam,Midhun和iPatel回答。 – tchnvkng

回答

58

您需要使用類型轉換。此代碼將做到這一點:

if let theLabel = self.view.viewWithTag(123) as? UILabel { 
     theLabel.text = "some text" 
    } 
+0

「var theLabel:UILabel = self.view.viewWithTag(123)as?UILabel」不應該使用?因爲你不能確定viewWithTag不返回零嗎? – Konrad77

+1

@康拉德77很好發現。我編輯了答案 – Adam

+1

它給出錯誤,''UILabel?'沒有名爲'text''的成員 –

1

你需要寫爲

var getMyLabel : UILabel = self.view.viewWithTag(tagValue) as UILabel; 
+3

它給出了致命錯誤:意外地發現零,而解包一個可選值。 我正在使用Xcode 6.1 –

2

viewWithTag:返回一個UIView,你需要將其強制轉換爲UILabel

var yourLabel : UILabel = yourView.viewWithTag(yourTag) as UILabel;