Радиус угла для метки в UITableViewCell не применяется в xcode 8

#ios #iphone #uitableview #uilabel #xcode8

#iOS #iPhone #uitableview #uilabel #xcode8

Вопрос:

Вот мой код

 [cell.label.layer setCornerRadius:cell.label.frame.size.width/2];
  

вот что я попробовал :-

 cell.label.clipsToBounds = YES;
  

также пробовал :-

 cell.label.layer.masksToBounds = YES;
  

также я импортировал:-

 #import <QuartzCore/QuartzCore.h>
  

ни один из этих подходов не работает.

Также я пробовал это как в IOS 9, так и в IOS 10, а также в симуляторе, а также на устройстве, кто-нибудь, кто сталкивается с такой же проблемой?

Ответ

Ну, после некоторых методов проб и ошибок я обнаружил, что передача абсолютного значения параметру углового радиуса сработала.

 [cell.label.layer setCornerRadius:20.0];
  

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

Комментарии:

1. Ну, после некоторых методов проб и ошибок я обнаружил, что передача абсолютного значения параметру углового радиуса сработала. [ячейка. label. layer setCornerRadius:20.0];

2. Куда вы поместили [cell.label.layer setCornerRadius:cell.label.frame.size.width/2]; код?

3. @Mr.UB этот код будет находиться в cellForRowAtIndexPath: метода uitableview.

Ответ №1:

Попробуйте поместить это

 cell.label.layer.masksToBounds = YES;
  

в awakeFromNib или init , если вы не используете xib или раскадровку, и поместите

 cell.label.layer.cornerRadius = cell.label.frame.size.width/2;
  

в layoutSubviews вашем UITableViewCell .

Надеюсь, это поможет.

Комментарии:

1. спасибо, это, конечно, помогает. но как это сделать динамически при использовании раскадровки.

2. Этот код будет работать с его динамической настройкой. Поскольку представление загружается с другим фреймом, то для соответствия размеру экрана из раскадровки, а затем, когда система фактически размещает все представления, она выдает фактический фрейм, соответствующий размеру экрана. лучшее место для размещения такого типа зависящего от фрейма кода в подклассе UIView — layoutSubviews