На самом деле у меня есть, чтобы применить тень на вид внутри ячейки таблицы. Высота этого представления является динамической (в зависимости от содержимого), что означает, что ячейка табличного представления является ячейкой собственного размера. До iOS 13 и xcode 11 мой код работал отлично, поскольку метод setSelected элемента tableview cell возвращает идеальный размер всех подпредставлений ячейки. В iOS 13 и xcode 11, метод setSelected для ячейки табличного представления возвращает размер всего подпредставления, такой же, как установленный в xib.
Используйте код ниже, чтобы применить тень к представлению: -
// Below method return correct size of view_margin (UIView) after content update in xcode 12 , but in xcode 13 below method return view_margin size same as size define in xib means not update size based on content
// Below method is tableview cell method
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:self.view_margin.bounds];
self.view_margin.layer.shadowColor = [UIColor blackColor].CGColor;
self.view_margin.layer.shadowOffset = CGSizeMake(0.0, 2.0);
self.view_margin.layer.shadowOpacity = 0.2;
self.view_margin.layer.shadowPath = shadowPath.CGPath;
self.view_margin.layer.masksToBounds = NO;
}
Эта проблема возникает только в Xcode 11 и iOS 13