我已經自定義了我自己的按鈕。當我點擊它時,我想更改按鈕textcolor和邊框顏色。我用下面的代碼重寫的UIButton setHighlighted方法點擊後更改UIButton邊框顏色
if (highlighted) {
self.layer.borderColor = [[UIColor colorWithRed:0.447 green:0.443 blue:0.443 alpha:1.000] CGColor];
self.titleLabel.textColor = [UIColor colorWithRed:0.447 green:0.443 blue:0.443 alpha:1.000];
}
else{
self.layer.borderColor = [[ UIColor whiteColor] CGColor];
self.titleLabel.textColor = [UIColor whiteColor];
}
然而,當我只需輕按按鈕就不會工作,當我做了按鈕的舉動會改變顏色。 我試圖創建斷點來檢查是否可以正確輸入此功能。我觀察到,只要點擊按鈕(由touchbegan事件觸發),這些代碼就會被執行一次,但當我繼續移動時會執行兩次(由touchbegan,touchmove事件觸發)。
我也嘗試添加該視圖級別的操作:
[downloadBtn addTarget:self action:@selector(allDownloadBtnClicked:) forControlEvents:UIControlEventTouchUpInside];
[downloadBtn addTarget:self action:@selector(allDownloadBtnHighlighted:) forControlEvents:UIControlEventTouchDown];
但它仍然不能作爲我的厚望操作。
任何人都可以給我任何建議來實現我的目標嗎?謝謝!
你設置self.layer.borderWidth = 2.0F爲你的按鈕? – Maddy
我已經在layoutSubviews中設置了borderWidth。 – kuokuo321