2012-03-07 1 views
1

В настоящее время я пишу приложение, которое использует разные цвета выбора в сгруппированном представлении таблицы. Это отлично работает, насколько это касается границ. я могу изменить выбор цвет Кодекса в этом сообщении: How to customize the background/border colors of a grouped table view cell?Создать сгруппированный UITableviewCell с пользовательским выбором Цвет и граница

НО Я хотел бы дополнительно иметь хорошее обрамление ячеек, которые используют компанию Apple. Как я могу использовать эту границу?

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

Это код для создания фона - в основном скопированы из выше сообщение: http://www.mediafire.com/?kltwlni1mf4t7ks

И это, как я использую его:

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]; 

Как вы можете видеть, я почти нормально работает, за исключением серой границы вокруг второй ячейки.

ответ

0

Я нашел решение. это не совсем то же самое (как UITableViewCell в сгруппированных Style получил еще более сложную конструкцию в iOS5, но этого достаточно для меня. Я заимствовал этот подход от http://cocoawithlove.com/2010/12/uitableview-construction-drawing-and.html

и он прекрасно работает!

Код I используюсь: http://www.mediafire.com/?mdxkpfe8g74ctk9

Надеется, что это помогает другим

+1

Ваша ссылка указывает на «Неверный или удаленный файл» – vilanovi

+0

К сожалению, вы правы - это совсем немного с тех пор, как я их загрузил ... К сожалению, я больше их не обманываю. Я переключился на новый подход с полностью настраиваемыми изображениями и использовал функцию setBackgroundView UITableviewcell, чтобы установить представление! – sensslen

2

в cellForRowAtIndexPath вы можете установить границы (разделители) для каждой строки/раздела.

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

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

Не забудьте установить/сбросить это для каждой строки/раздела, в котором вы хотите.

Если вы хотите добавить серую рамку вокруг эритроците было бы

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]]; 
} 

Вы на самом деле нужно использовать это в вашем cellForRowAtIndexPath или вы собираетесь установить границы для всей TableView (возможно вот что вы хотите сделать)

+0

Ну, я думаю, это используется для нормальных TableViews, но не для сгруппированного Style TableViewCells .. к сожалению, это не работает ... – sensslen

+0

Я использую это то же самое в моем групповом TableViews. Покажите код d Я постараюсь помочь – muffe

+0

Ну тогда мне не хватает чего-то еще ... Я загрузил код. Спасибо за вашу помощь – sensslen

Смежные вопросы