Saya mencoba mengonfigurasi warna pemisah abu-abu tua. Mengapa hal berikut tidak melakukan apa-apa?
self.tableView.seperatorStyle = UITableViewCellSeperatorStyleSingleLine;
self.tableView.seperatorColor = [UIColor colorWithRed: 127 green:127 blue:127 alpha:1];
mengembalikan tabel tanpa pemisah sama sekali.
Segera setelah saya menggunakan [UIColor blackColor] maka saya mendapatkan pemisah dengan baik. Apa masalahnya?
iphone
cocoa-touch
uitableview
ios4
skålfyfan
sumber
sumber
UIColor
perlu mendukung 'warna dalam' (yaitu, warna dengan kedalaman lebih dari 24 bit, atau 32 dengan alfa). Tentu saja, itu masih tidak mengubah fakta bahwa metode kenyamanan bawaan (bersama dengan dukungan hex) jelas akan sangat membantu banyak pengembang!Karena metode UIColor Anda membutuhkan float dari 0-1, bukan 0-255. Anda perlu membagi semua nilai RGB Anda dengan 255,0, sebagai berikut:
self.tableView.seperatorColor = [UIColor colorWithRed:127.0f/255.0f green:127.0f/255.0f blue:127.0f/255.0f alpha:1.0f];
sumber
Anda harus membagi nilai Anda dengan 255, karena kisarannya 0-1. Ambil 127/255 = 0.49f dan ketik itu sebagai gantinya. Itu ada di sana, hanya putih :)
sunting: penyebab komentar, saya menambahkan beberapa kode tentang bagaimana saya menyelesaikannya:
-(float)getRGBValue:(int) rgbValue{ return rgbValue/255.0; ]
sumber
Ada dua metode baru
UIColor
yang menerima nilai integer dari 0 hingga 255:UIColor(red: Int, green: Int, blue: Int)
dan
UIColor(alpha: Float, red: Int, green: Int, blue: Int)
Ini tidak ada dalam dokumentasi tetapi saya telah menggunakannya dan berfungsi dengan sangat baik.
sumber