2011-12-30 37 views
10

Sau khi thiết lập trạng thái khác nhau một UISearchBar để trắng:Làm thế nào để loại bỏ các đường màu đen thêm bên dưới UISearchBar?

enter image description here

Có một đường màu đen thêm giữa hộp tìm kiếm và bảng:

enter image description here

Làm thế nào tôi có thể loại bỏ các màu đen hàng?

+0

bạn đã xóa nền của thanh tìm kiếm chưa? – Maulik

+0

'searchBar.backgroundColor = [UIColor clearColor];' không giúp được gì. – ohho

+0

Bản sao có thể có của [Tùy chỉnh UISearchBar: Cố gắng loại bỏ đường màu đen 1px bên dưới thanh tìm kiếm] (http://stackoverflow.com/questions/7620564/customize-uisearchbar-trying-to-get-rid-of-the -1px-black-line-underneath-the-se) – CMash

Trả lời

27

Chỉ cần một tinh chỉnh ...

searchBar.layer.borderWidth = 1; 
searchBar.layer.borderColor = [[UIColor whiteColor] CGColor]; 
0

Tôi nhận ra câu trả lời là Legolas cũ - nhưng tôi stumbled khi cùng một vấn đề, và bây giờ có vẻ như có thay vì một borderColor là một cái nhìn diễn xuất đặc biệt như một cái bóng mà tạo hiệu ứng này.

Cách duy nhất để sửa lỗi này là tìm kiếm chế độ xem có tên "_UISearchBarShadowView" và ẩn nó.

Đây là chế độ xem phụ của chế độ xem con của searchDisplayController.searchResultsTableXem và chỉ tồn tại sau khi nhập ký tự vào thanh tìm kiếm. Tôi đã khắc phục sự cố với mã bên dưới.

(getSubviewByClass là một phạm trù của UIView tôi tạo ra để lặp qua quan điểm và tìm subviews bởi một chuỗi)

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { 

    [self performSelector:@selector(searchResultsTableShouldChange) withObject:nil afterDelay:0.0001]; 

} 

- (void)searchResultsTableShouldChange { 

    [[self.view getSubviewByClass:@"_UISearchBarShadowView"] setHidden:YES]; 
} 
+0

Không có những thứ như getSubviewByClass: phương thức trên lớp cơ sở UIView. – DZenBot

+0

Đó là lý do tại sao tôi đã viết về nó trong ngoặc đơn phía trên mã ví dụ. Đó là danh mục tôi đã tạo để giúp tìm kiếm đệ quy trong UIViews dễ dàng hơn. – Filibustr

+0

Đây không phải là "giải pháp" nếu bạn muốn ứng dụng của mình bị từ chối? –

Các vấn đề liên quan