2012-11-07 36 views
20

Tôi đã đọc trong một chuỗi khác trên SO để bạn có thể điều chỉnh phông chữ hoặc màu nền của thanh chỉ mục (đó là thanh cuộn AZ #) trong một UITableView thêm một CALayer. Ứng dụng của tôi sẽ chạy trên iOS 5 trở lên và vì tôi chưa thấy bất kỳ điều gì về điều này trong tài liệu của Apple, liệu có thể nói rằng đơn giản là không thể nếu không tạo chế độ xem bảng tùy chỉnh?Tùy chỉnh phông chữ/màu nền của thanh chỉ mục/nền trong UITableView

Nếu điều này có thể (và có thể chấp nhận được với Apple), tôi sẽ làm như thế nào?

Trả lời

43

Tính năng iOS 6.0 có hai phương pháp cho phép bạn thay đổi màu của chỉ mục phần và nền được hiển thị khi bạn kéo dọc theo các chỉ mục phần.

if ([tableView respondsToSelector:@selector(setSectionIndexColor:)]) { 
    tableView.sectionIndexColor = ... // some color 
    tableView.sectionIndexTrackingBackgroundColor = ... // some other color 
} 

Tất nhiên điều này sẽ chỉ thực hiện nếu thiết bị có 6.0 trở lên. Trong iOS 5.x, không có gì thay đổi.

+16

Ngoài ra còn có sectionIndexBackgroundColor mà tôi tin rằng sử dụng mặc định để xóa, và bây giờ được đặt thành một màu xám trong iOS7. –

+0

Cảm ơn bạn! Làm việc tốt. – Raja

5

Dưới đây là mã cho nhanh chóng 2+

self.tableView.sectionIndexTrackingBackgroundColor = CustomColor 
// background color while the index view is being touched 
self.tableView.sectionIndexBackgroundColor = CustomColor 
// title/text color of index items 
self.tableView.sectionIndexColor = CustomColor 
+0

Xin chào! Bạn có biết cách thay đổi phông chữ không? – Alexander

0

Đối Swift 3.1:

self.tblViewForContacts.sectionIndexTrackingBackgroundColor = self.view.backgroundColor 
self.tblViewForContacts.sectionIndexBackgroundColor = self.view.backgroundColor 
Các vấn đề liên quan