So the prototype UITableViewCell has a UIView . In this view of awakeFromNib , I have the following code to make a shadow
CALayer *layer = self.layer; layer.cornerRadius = 5.0f; // Makes shadow for each cell in all and nearby table views. CGSize size = self.bounds.size; CGFloat curlFactor = 15.0f; CGFloat shadowDepth = 5.0f; UIBezierPath *path = [UIBezierPath bezierPath]; [path moveToPoint:CGPointMake(0.0f, 0.0f)]; [path addLineToPoint:CGPointMake(size.width, 0.0f)]; [path addLineToPoint:CGPointMake(size.width, size.height + shadowDepth)]; [path addCurveToPoint:CGPointMake(0.0f, size.height + shadowDepth) controlPoint1:CGPointMake(size.width - curlFactor, size.height + shadowDepth - curlFactor) controlPoint2:CGPointMake(curlFactor, size.height + shadowDepth - curlFactor)]; self.layer.shadowColor = [UIColor blackColor].CGColor; self.layer.shadowOpacity = 0.3f; self.layer.shadowOffset = CGSizeMake(2.0f, 7.0f); self.layer.shadowRadius = 2.0f; self.layer.masksToBounds = NO; self.layer.shadowPath = path.CGPath; //Sets a path for the shadow. Greatly enhances performance.
The problem is that the shadow appears only in some cells, and not in all, and sometimes it seems random. I tried putting the code in viewWillAppear and viewDidAppear , but it didn’t work together either. Does anyone know what could be causing this?
source share