2015-11-12 2 views
1

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

Вот код, я установил на границе ...

[cell.layer setBorderColor:[UIColor colorWithRed:0.00 green:0.60 blue:1.00 alpha:1.0].CGColor]; 
[cell.layer setBorderWidth:1.0f]; 
[cell.layer setCornerRadius:5]; 

What I have now...

Ожидаемый результат: enter image description here

+0

self.tableView.contentInset = UIEdgeInsetsMake (0, 20, 0, 20) –

ответ

0

сделать как

Шаг -1

создать один общий UIView назван BackgroundView .И установить подвид в cell.contentView

Шаг -2

установить рамку на BackgroundView все, что вам нужно. на основе ширины contentview

Шаг -3

добавить Label, Date, Image к подвид из BackgroundView.

Шаг -4

затем установите слой для BackgroundView, окончательный ответ вы получите

[cell.BackgroundView setBorderColor:[UIColor colorWithRed:0.00 green:0.60 blue:1.00 alpha:1.0].CGColor]; 
[cell.BackgroundView setBorderWidth:1.0f]; 
[cell.BackgroundView setCornerRadius:5]; 
+0

Спасибо за шаги, у меня есть вопрос: на самом деле мне нужен просмотр содержимого и аксессуар, чтобы быть на одной границе. Если установить границу в фоновый режим, включите также аксессуар? – yun

+0

@yun - в вашем вопросе хорошо, вы можете добавить, как создать одно изображение, добавить изображение для функций, иначе посмотреть эту ссылку http://stackoverflow.com/questions/2876041/can-a-standard-accessory-view- be-in-a-different-position-in-aitableviewcel –

+0

Хорошая идея! Я просто использую изображение стрелки, чтобы заменить вид аксессуаров – yun

4

Лучшая практика программирования для этого подклассов ваш UITableViewCell и переопределить его setFrame метод.

- (void)setFrame:(CGRect)frame { 
    frame.origin.x += 10; 
    frame.size.width -= 20; 
    [super setFrame:frame]; 
} 

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

- (void)drawRect:(CGRect)rect { 
    [super drawRect:rect]; 

    // border radius 
    [self.layer setCornerRadius:5.0f]; 

    // border 
    [self.layer setBorderColor:[UIColor colorWithRed:0.00 green:0.60 blue:1.00 alpha:1.0].CGColor]; 
    [self.layer setBorderWidth:1.0f]; 
} 

еще одна вещь, если вы просто хотите, чтобы сделать клетку немного более привлекательным добавить этот метод тоже в DrawRect:

[self.layer setShadowColor:[UIColor lightGrayColor].CGColor]; 
[self.layer setShadowOpacity:0.8]; 
[self.layer setShadowRadius:3.0]; 
[self.layer setShadowOffset:CGSizeMake(2.0, 2.0)]; 
Смежные вопросы