簡體   English   中英

無法以編程方式覆蓋UIButton選項

[英]Can't overwrite UIButton options programmatically

固定。 我必須清除IB中按鈕的背景圖像。


我的視圖中有兩個按鈕,應該根據if語句使用不同的圖像。 我在IB中創建了按鈕(並設置了它們的大小,約束),但是我想更改它們在viewDidLoad的外觀。 我制作了一種方法來處理這些變體,但不幸的是它不起作用。 當我運行該應用程序時,我可以記錄正確的NSLog,但是沒有任何變化。 看來我的setImage: forState:方法無法覆蓋情節setImage: forState:選項。 有人知道我錯了嗎?

- (void)viewDidLoad {
    [super viewDidLoad];
    [self setButtonLayout];
}

- (void) setButtonLayout {

    if ([[PFUser currentUser][@"status"] isEqualToString:@"active"]) {

        [self.bttn1 setImage:[UIImage imageNamed:@"01-normal.png"] forState:UIControlStateNormal];
        [self.bttn1 setImage:[UIImage imageNamed:@"01-selected.png"] forState:UIControlStateSelected];

        [self.bttn2 setImage:[UIImage imageNamed:@"02-normal.png"] forState:UIControlStateNormal];
        [self.bttn2 setImage:[UIImage imageNamed:@"02-selected.png"] forState:UIControlStateSelected];
        NSLog(@"1. BUTTON");
    }
    if ([[PFUser currentUser][@"status"] isEqualToString:@"inactive"]) {

        [self.bttn3 setImage:[UIImage imageNamed:@"03-normal.png"] forState:UIControlStateNormal];
        [self.bttn3 setImage:[UIImage imageNamed:@"03-selected.png"] forState:UIControlStateSelected];

        [self.bttn4 setImage:[UIImage imageNamed:@"04-normal.png"] forState:UIControlStateNormal];
        [self.bttn4 setImage:[UIImage imageNamed:@"04-selected.png"] forState:UIControlStateSelected];
         NSLog(@"2. BUTTON");
    }
}

嘗試將初始化從viewWillLoad方法移動到viewWillAppear:方法。

暫無
暫無

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

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