Buat UITableviewCell yang dikelompokkan dengan pilihan khusus Warna dan Perbatasan

Saat ini saya sedang menulis Aplikasi yang menggunakan Warna pilihan berbeda dalam Tampilan Tabel yang dikelompokkan. Ini berfungsi dengan baik dalam hal Borders. Saya dapat mengubah Warna Pilihan dengan Kode di Posting ini: Bagaimana cara menyesuaikan warna latar belakang/batas sel tampilan tabel yang dikelompokkan?

TAPI Saya juga ingin memiliki Perbatasan bagus di sekitar Sel yang digunakan Apple. Bagaimana saya bisa menggunakan Perbatasan ini?

http://www.mediafire.com/?x2gxbkjqu4d2zto

Ini adalah Kode untuk membuat Latar Belakang - sebagian besar disalin dari Posting di atas: http://www.mediafire.com/?kltwlni1mf4t7ks

Dan inilah cara saya menggunakannya:

NSIndexPath * indexPath = [[[NSIndexPath alloc] initWithIndex:0] indexPathByAddingIndex:1];
CGRect frame = [[self tableView] rectForRowAtIndexPath:indexPath];
TLCustomCellBackgroundView * selectedBackgroundView = [[TLCustomCellBackgroundView alloc] initWithFrame:frame andColor:[UIColor redColor]];
[selectedBackgroundView setPosition:CustomCellBackgroundViewPositionBottom];
[[[self tableView] cellForRowAtIndexPath:indexPath] setSelectedBackgroundView:selectedBackgroundView];

Seperti yang Anda lihat, saya hampir membuatnya berfungsi dengan benar kecuali Perbatasan abu-abu di sekitar Sel kedua.


person sensslen    schedule 07.03.2012    source sumber


Jawaban (2)


di cellForRowAtIndexPath Anda dapat mengatur Batas (Pemisah) untuk setiap baris/bagian.

 if(indexPath.row == 1)
    [tableView setSeparatorColor:[UIColor redColor]];

 if(indexPath.section == 2)
    [tableView setSeparatorColor:[UIColor greenColor]];

Ingatlah untuk menyetel/mengatur ulang ini untuk setiap baris/bagian yang Anda inginkan.

Jika Anda ingin menambahkan batas abu-abu di sekitar sel merah Anda, itu akan terjadi

if(indexPath.section == 0 && indexPath.row == 1){
//assuming this is the correct index)  
   [tableView.separatorColor = [UIColor  colorWithRed:0.67 green:0.67 blue:0.67 alpha:1];
}
else
{
   [tableView.separatorColor = [UIColor yourChosenDefaultColor]];
}

Anda sebenarnya perlu menggunakan ini di cellForRowAtIndexPath Anda atau Anda akan mengatur batas untuk seluruh TableView Anda (mungkin itu yang ingin Anda lakukan)

person muffe    schedule 07.03.2012
comment
Yah saya kira ini digunakan untuk TableViews normal, tetapi tidak untuk Style TableViewCells yang dikelompokkan.. Sayangnya itu tidak berhasil... - person sensslen; 07.03.2012
comment
Saya menggunakannya dengan cara yang sama di TableViews yang saya kelompokkan. Tunjukkan beberapa kode dan saya akan mencoba membantu - person muffe; 07.03.2012
comment
Lalu saya melewatkan sesuatu yang lain... Saya mengunggah Kode. Terima kasih atas bantuan Anda - person sensslen; 07.03.2012
comment
Terima kasih! seperti yang Anda lihat di komentar pada Pertanyaan saya, saya berhasil menggambar perbatasan ini. Saya tidak yakin apakah Solusi Anda berfungsi, karena saya mengubah Tampilan Latar Belakang dan percobaan cepat tidak mengubah apa pun. Namun demikian terima kasih telah menjawab. - person sensslen; 07.03.2012

Saya menemukan Solusi untuk ini. itu tidak sepenuhnya sama (karena UITableviewCell dalam Style yang dikelompokkan mendapatkan Desain yang lebih canggih di iOS5 tetapi ini cukup bagi saya. Saya meminjam Pendekatan ini dari http://cocoawithlove.com/2010/12/uitableview-construction-drawing-and.html

dan itu bekerja dengan baik!

Kode yang saya gunakan adalah: http://www.mediafire.com/?mdxkpfe8g74ctk9

Semoga ini bisa membantu orang lain

person sensslen    schedule 08.03.2012
comment
Sayangnya Anda benar - Sudah cukup lama sejak saya mengunggahnya.... Sayangnya saya tidak memilikinya lagi. Saya beralih ke pendekatan baru dengan gambar yang dirancang khusus dan menggunakan fungsi setBackgroundView dari UITableviewcell untuk mengatur tampilan! - person sensslen; 23.09.2013