簡體   English   中英

以編程方式更改UISwitch錯誤的狀態

[英]Programmatically change state of a UISwitch bugs

我試圖動態地改變與所述方法的UISwitch [self.mySwitch setOn:YES animated:YES];

狀態的變化,以及在代碼中,使得mecanisme工作正常,但在視圖狀態已經無法改變。 因此,我將UISwitch顯示為OFF並按原樣工作。

當我在敲打,開關成了。 因此,我必須點按兩次以啟動代碼的inCaseOff部分。

我希望這足夠清楚。

[編輯]

這是您要求的代碼

- (void)viewDidLoad
{
   [self manageTheSwitch];
}

- (void) manageTheSwitch{
    self.mySwitch = [[UISwitch alloc]init];
    if(randomObject != nil){
        [self.mySwitch setOn:YES animated:YES];
    }else{
        [self.mySwitch setOn:NO animated:YES];
    }
}

您正在以編程方式將另一UISwitch設置為視圖中顯示的UISwitch。 您完全不需要執行[[UISwitch alloc]init] ,而是應該通過控制器中的IBOutlet屬性(連接到IB中的視圖)來檢索它。

假設您確實連接了mySwitch,那么您需要做的就是刪除此行:

self.mySwitch = [[UISwitch alloc]init];

您的問題是,您要在manageTheSwitch方法中實例化一個新按鈕,而不是訪問在情節提要中創建的按鈕。 只需消除該alloc init。

嘗試使用UISwitch繼承自UIControl的“ selected”屬性: self.mySwitch.selected = YES;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM