是否可以通過獲取UITextField
的選擇背景顏色而不使用私有API?UITextField選擇背景顏色
回答
不,沒有公開的API。
你可以儘管私有API嘗試:
UITextField
有一個名爲selectionHighlightColor
和UIColor
有一類方法具有相同名稱的實例方法。兩者都返回相同的顏色,應該是[UIColor colorWithRed:0 green:.33 blue:.65 alpha:.2]
。
否Apple不提供此類apis。
沒有可用的實際方法,但我只是寫了一個使用UILongPressGestureRecognizer來實現這個技巧。目前還不清楚您是要設置選定的背景顏色還是隻讀取它?但是你可以嘗試了這一點,也許它會給你一些想法:
-(void)viewDidLoad
{
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(selectionDetected:)];
longPress.minimumPressDuration=0.3;//you could vary this value for whatever you prefer
[self.yourTextField addGestureRecognizer:longPress];
[longPress release];
}
-(void)selectionDetected:(UILongPressGestureRecognizer*)longPress
{
if(longPress.state==1)
{
self.yourTextField.backgroundColor = [UIColor blueColor];//selected
}
else if(longPress.state==3)
{
self.yourTextField.backgroundColor= [UIColor orangeColor];//no longer selected..put back to original color
}
}
直到用戶擡起手指(即使它們在屏幕上移動),它仍將是「選擇」的顏色。不知道這是否真的是你想要的,但也許它會幫助別人。
但順便說一句,如果你只是想讀取選定的背景顏色,你可以詳細說明什麼? –
我只想得到(閱讀)顏色系統使用。 –
基於phix23's answer你可以做一個UITextField
子類,並覆蓋selectionHighlightColor
財產。像:
- (UIColor *)selectionHighlightColor{
return [UIColor clearColor];
}
測試中的iOS 9.3,還生產
謝謝,但問題是關於獲取默認顏色不覆蓋和設置一個。 –
- 1. reveal.js背景顏色選擇
- 2. QTableView - 選擇背景顏色
- 3. 在動畫背景顏色的同時選擇UITextField
- 4. WPF TabItem選擇時背景顏色?
- 5. Android LinearLayout選擇器背景顏色
- 6. 更改菜單背景顏色選擇
- 7. UIDate選擇器的背景顏色
- 8. 更改ListView的背景選擇顏色?
- 9. Laravel表::選擇更改背景顏色
- 10. 背景顏色 - 不能看到選擇
- 11. 點擊選擇背景顏色
- 12. 更改背景顏色選擇
- 13. 更改背景顏色選擇
- 14. 選擇自定義Datagridviewcolumn背景顏色
- 15. 設置選擇jbutton的背景顏色
- 16. Android GridView選擇背景顏色
- 17. 如何硒選擇背景顏色
- 18. html css - 圖片選擇背景顏色
- 19. 更改UITableViewCell背景顏色時選擇
- 20. 對背景的自來水改變背景顏色來選擇顏色
- 21. UITextField藍色背景,藍色
- 22. nicEdit - 背景顏色選項
- 23. 備選div背景顏色
- 24. 用戶使用HTML顏色代碼選擇背景顏色
- 25. 在選擇顏色更改背景顏色
- 26. 根據背景顏色自動選擇好的邊框顏色
- 27. 更改按鈕的背景顏色與我選擇的顏色
- 28. 使用顏色選擇器更改網站背景顏色
- 29. JQuery的顏色選擇來改變背景顏色
- 30. 更改tilelist上選擇的背景顏色和邊框顏色?
打開雷達#14413759把它公開。 –
無論如何,謝謝。順便說一句,是不是有可能從NSLayoutManager,NSTextStorage或類似的後備類獲取顏色? –
@RudolfAdamkovic – mattsven