2017-01-03 2 views
0

Я создал пользовательский табличный вид с xib-файлом. Я добавил UILabel с верхней границей, код для верхней границыКак применить верхнюю границу на UILabel с autoresizingMask в iOS

UIView *topBorder = [UIView new]; 
topBorder.backgroundColor = [UIColor blackColor]; 
topBorder.frame = CGRectMake(0, 0, cell.nameOfImage.frame.size.width, 1); 
[cell.nameOfImage addSubview:topBorder]; 

cell.nameOfImage.text = [tableData objectAtIndex:indexPath.row]; 

Авторазмер является enter image description here

Но это не изменение размеров с экрана отличаются, как и в 5с и 6с плюс. Он не отображается с размером UILabel. В 5s

enter image description here

И в 6s Plus enter image description here

Верхняя граница не отображается по отношению к метке.

+0

попробовать это https://stackoverflow.com/questions/7666863/ uiview-bottom-border/48109396 # 48109396 – Datt1994

ответ

0

Необходимо обновить ширину topBorder согласно cell.nameOfImage ширина. Переместить код для кадра меняющегося в layoutSubviews:

Objective-C:

- (void)layoutSubviews { 
    [super layoutSubviews]; 
    UIView *top = [[UIView alloc] init]; 
    topBorder.frame = CGRectMake(0.0, 0.0, nameOfImage.frame.size.width, 1.0) 
} 

Swift:

override func layoutSubviews() { 
     super.layoutSubviews() 
     topBorder.frame = CGRectMake(0, 0, nameOfImage.frame.size.width, 1); 
    } 
+0

да, мне нужна граница в соответствии с шириной ячейки –

+0

Можете ли вы дать объективу c, я думаю, я добавил то же самое с уважением t o frame –

+0

вам нужно добавить ограничение в xib-файл. Выберите вид сверху и правое перетаскивание до изображения. Затем вы выбираете равную ширину – Irfan