效果如圖:
然而做出這樣的效果並不順利, 剛開始的時候代碼如下:
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeSystem]; backButton.backgroundColor = color; backButton.frame = CGRectMake(18, 610, 380, 50); [backButton setTitle:@"返回登錄" forState:UIControlStateNormal]; [backButton setTitleColor:color forState:UIControlStateNormal]; backButton.alpha = 0.3; backButton.layer.cornerRadius = 5; backButton.layer.masksToBounds = YES; [backButton addTarget:self action:@selector(backLogin:) forControlEvents:UIControlEventTouchUpInside];
執行之后的效果是下面這個樣子的:--
對此, 我意識到是設置button透明度的時候, button上字體的透明度也會做出同樣的改變. 於是出現上面的情況..
改正后的代碼如下:
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeSystem]; backButton.backgroundColor = [UIColor colorWithRed:0 / 255.0 green:180 / 255.0 blue:140 / 255.0 alpha:0.3]; backButton.frame = CGRectMake(18, 610, 380, 50); [backButton setTitle:@"返回登錄" forState:UIControlStateNormal]; [backButton setTitleColor:color forState:UIControlStateNormal];
如代碼所示, 將透明度的設置放在backgroundcolor 中, 而不要改變button的alpha屬性.執行后的樣子就是第一張圖顯示的樣子.
警紀