2017-10-12 89 views
0

我有一個UIButton,帶有一個透明的圖像,並帶有切換選擇。 在當前配置中,我使用系統按鈕類型,因爲它很好地反轉了按鈕。然而,通過這種反轉,我得到一個帶有邊框的圖像,並且我希望這個圖像填充整個按鈕。這怎麼能實現?我想保留系統的透明遮罩。iOS - UIButton系統選定的圖像

Here is the repository.

在下面的圖像是所選系統的狀態是什麼樣子。

enter image description here

+0

從圖像和按鈕想要什麼一件事? –

+0

我想要iOS添加的圓角矩形來反轉所選按鈕,以填充整個按鈕框。 –

+0

sry,它對我不清楚。 –

回答

0

創建的UIButton的子類並覆蓋isSelected

對於實例

class CustomButton: UIButton { 

    /* 
    // Only override draw() if you perform custom drawing. 
    // An empty implementation adversely affects performance during animation. 
    override func draw(_ rect: CGRect) { 
     // Drawing code 
    } 
    */ 




    override var isSelected: Bool { 


     didSet { 
      if isSelected { 
       self.backgroundColor = UIColor.blue 
       self.tintColor = UIColor.white 
      } else { 
       self.backgroundColor = .white 
       self.tintColor = UIColor.red 
      } 

     } 
    } 

} 

更改顏色根據您的要求

,並考慮控制得很不喜歡這個

class ViewController: UIViewController { 

@IBOutlet weak var button: CustomButton! 
override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
    button.isSelected = false 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 
@IBAction func btnTapped(_ sender: Any) { 
    button.isSelected = !button.isSelected 
} 

}

還有就是你要設置渲染圖像的選項模板Template Image

+0

適用於白色背景,但是圖像背景怎麼樣? –

+0

你必須使它們變白,並在運行時應用顏色 –