&引用;“选举”;在iOS 13和xcode 11中,tableview单元格未返回单元格的完美大小的方法

&引用;“选举”;在iOS 13和xcode 11中,tableview单元格未返回单元格的完美大小的方法,ios,uitableview,uibezierpath,ios13,xcode11,Ios,Uitableview,Uibezierpath,Ios13,Xcode11,实际上,我需要在tableview单元格内的视图上应用阴影。该视图的高度是动态的(基于内容),这意味着tableview单元格是自行调整大小的单元格。在iOS 13和xcode 11之前,我的代码工作得很好,因为tableview单元格的“setSelected”方法返回单元格所有子视图的完美大小。在iOS 13和xcode 11中,tableview单元格的“setSelected”方法返回所有子视图的大小,与xib中的设置相同 使用以下代码在视图上应用阴影:- // Below method

实际上,我需要在tableview单元格内的视图上应用阴影。该视图的高度是动态的(基于内容),这意味着tableview单元格是自行调整大小的单元格。在iOS 13和xcode 11之前,我的代码工作得很好,因为tableview单元格的“setSelected”方法返回单元格所有子视图的完美大小。在iOS 13和xcode 11中,tableview单元格的“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中出现,请尝试以下操作:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated 
{

    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC));
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){

            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;

    });

}

这在ios 13之前的早期版本中有效吗?如果是这样的话,视图的层次结构可能会在IOS 13之后发生变化,那么您必须对子视图进行itrate,然后设置attributes@AnjulaS. 是的,它在iOS 13之前运行良好。如果您有任何链接或代码,请帮助我。@AnjulaS。那么,您对上述问题有什么解决方案吗?请尽快帮助我。您能告诉我您现在在哪里使用
setSelected
。我已经更新了我的问题。请检查一下。