Có thể thay đổi màu văn bản của thanh tìm kiếm không? Tôi dường như không có quyền truy cập vào các lớp UISearchBarTextField ...Thay đổi màu văn bản của thanh tìm kiếm ios
Trả lời
trước hết, bạn tìm thấy những subview trong UISearchBar
, sau đó tìm UITextField
ở tiểu Xem sau đó thay đổi màu sắc
Hãy thử mã này: -
for(UIView *subView in searchBar.subviews){
if([subView isKindOfClass:UITextField.class]){
[(UITextField*)subView setTextColor:[UIColor blueColor]];
}
}
cho ios 5 +
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor blueColor]];
Tính đến iOS 5, đúng cách để làm điều này là sử dụng giao thức xuất hiện.
Ví dụ:
[[UITextField appearanceWhenContainedIn:[UISearchBar class], nil] setTextColor:[UIColor blueColor]];
Câu trả lời hay. Cảm ơn – Nekto
Bạn có thể thiết lập các thuộc tính như vậy, gọi đây là trong điều khiển của bạn.
[[UITextField appearanceWhenContainedIn:[self class], nil] setDefaultTextAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor], NSFontAttributeName:[UIFont systemFontOfSize:14]}];
* lưu ý rằng điều này sẽ thay đổi tất cả UITextFields trong điều khiển của bạn
Bản gốc UISearchBar
hệ thống phân cấp đã thay đổi kể từ khi bài gốc và UITextField
không còn là một subview trực tiếp. Mã bên dưới không đưa ra giả định về phân cấp UISearchBar
.
Điều này cũng hữu ích khi bạn không muốn thay đổi màu văn bản của thanh tìm kiếm trong toàn bộ ứng dụng (ví dụ: sử dụng appearanceWhenContainedIn).
/**
* A recursive method which sets all UITextField text color within a view.
* Makes no assumptions about the original view's hierarchy.
*/
+(void) setAllTextFieldsWithin:(UIView*)view toColor:(UIColor*)color
{
for(UIView *subView in view.subviews)
{
if([subView isKindOfClass:UITextField.class])
{
[(UITextField*)subView setTextColor:color];
}
else
{
[self setAllTextFieldsWithin:subView toColor:color];
}
}
}
Cách sử dụng:
[MyClass setAllTextFieldsWithin:self.mySearchBar toColor:[UIColor blueColor]];
- 1. Thay đổi màu đường viền của văn bản iOS
- 2. Thay đổi màu văn bản
- 3. Thay đổi màu văn bản trong MoreNavigationController
- 4. Thay đổi màu chữ của thanh trạng thái từ màu trắng iOS 7/Xcode 5
- 5. Làm cách nào để thay đổi màu của ngón tay cái trong thanh tìm kiếm?
- 6. Thay đổi màu và màu của văn bản trong hộp văn bản
- 7. Thay đổi màu văn bản trong trường văn bản
- 8. Làm cách nào để thay đổi màu của văn bản trong UINavigationBar trên iOS 7?
- 9. Văn bản cao cấp 2 - Thay đổi màu của thanh bên
- 10. Thay đổi màu văn bản giữ chỗ của jQuery
- 11. iOS CGPDFScanner để tìm kiếm vị trí văn bản
- 12. Thay đổi màu văn bản trong các hộp CHỌN
- 13. Trình tạo giao diện thay đổi lỗi màu văn bản?
- 14. Cách thay đổi màu tìm kiếm trong Android?
- 15. MFC - thay đổi màu văn bản của điều khiển văn bản cstatic
- 16. Thay đổi giá trị bước trong thanh tìm kiếm?
- 17. Thay đổi màu đánh dấu khi chọn văn bản trong đầu vào văn bản HTML
- 18. MongoDB Tìm kiếm văn bản VÀ nhiều từ tìm kiếm
- 19. Thay đổi TabPageIndicator footer và màu văn bản (ViewPagerIndicator)
- 20. Làm thế nào Thay đổi văn bản giữ chỗ màu - iOS
- 21. Tìm kiếm MySQL và tìm kiếm toàn văn bản
- 22. Thay đổi màu văn bản khi người dùng đang nhập?
- 23. Làm cách nào để thay đổi màu văn bản của nút hủy của thanh công cụ UISearchbar
- 24. VS2012: Làm thế nào để thay đổi màu sắc của thanh dọc bên trái của trình soạn thảo văn bản?
- 25. IOS 5 Cách thay đổi màu của nút quay lại trong thanh điều hướng?
- 26. Làm cách nào để thay đổi màu của nút và màu văn bản trên android
- 27. Ví dụ tìm kiếm văn bản đầy đủ của SQLite trên iOS
- 28. cách thay đổi màu nhãn văn bản QCheckBox trong Qt?
- 29. Python | thay đổi màu văn bản trong shell
- 30. thay đổi màu văn bản nút khi nhấn
Làm theo cách này có thể sẽ làm việc nhưng là vỡ trong trường hợp táo quyết định chơi với hệ thống phân cấp xem, vui lòng xem giải pháp của tôi dưới đây sử dụng giao thức xuất hiện. –