我想以編程方式更改UIButton,這有可能嗎? 沒有任何交互。以編程方式獲取UIButton
我能以某種方式獲取視圖中的對象嗎?如果我可以得到它們,我可以遍歷它們並獲得我想要的UIButton並將其更改爲我想要的。
我想以編程方式更改UIButton,這有可能嗎? 沒有任何交互。以編程方式獲取UIButton
我能以某種方式獲取視圖中的對象嗎?如果我可以得到它們,我可以遍歷它們並獲得我想要的UIButton並將其更改爲我想要的。
是的,這是可能的。
如果您正在處理動態數量的按鈕,那麼使用標籤就是您需要的。 當插入UIButton
(通過Interface Builder或以編程方式)時,可以爲其分配一個標籤。如在,view.tag = 6
。這意味着您可以從超級視圖中提取特定按鈕的實例。
UIButton* btn = [UIButton alloc] initWithFrame:...];
....
[self.view addSubview:btn];
額外的步驟分配一個標籤(你如何保持跟蹤你的標籤是由你):
在實踐中,一般會通過添加按鈕。
btn.tag = 44;
爲了再次訪問它,我可以從我的觀點中提取它。
UIButton* btn = (UIButton*)[self.view viewWithTag:44];
這產生了與我最初創建的實例相同的實例。
如果你想替換它,你只需刪除舊的,然後創建+添加新的。
[btn removeFromSuperview];
UIButton* btn2 = [UIButton alloc] initWithFrame:...];
...
[self.view addSubview:btn2];
完美!標記按鈕工作得很好。 – hub
您可以使用引用插座選項卡部分將您的按鈕從xib鏈接到它的控制器。你將會有一個參考你的按鈕,所以你不必遍歷所有的子視圖。只需選擇你的xib並打開側面的實用菜單。選擇您的按鈕,然後單擊實用程序菜單上的連接檢查器。單擊並將「新引用插座」旁邊的圓圈拖到控制器的.h文件中。
所有的視圖中的對象可以使用'view.subviews'它與在該視圖中的所有對象陣列,迭代陣列獲得烏爾按鈕,並相應地使用.. – vishy
是,我使用的獲得self.subviews在另一個視圖中對許多按鈕進行標記的情況下進行迭代。 – hub