Wenn Sie es aus der Box arbeiten möchten, müssen Sie Focused/Sichere Zone Größe zu reservieren erinnern (aus Dokumentation), wenn Sie Ihr Bild erstellen.
In meinem Fall habe ich meine Bilder vom Server und ich kann sie nicht bearbeiten. Was für mich gearbeitet - es ist Bild neu zeichnen rechts vor der Einstellung:
UIImage *oldImage = [UIImage imageNamed:@"example"];
CGFloat width = cell.imageView.frame.size.width;
CGFloat height = cell.imageView.frame.size.height;
CGSize newSize = CGSizeMake(width, height);
CGRect newRect = CGRectIntegral(CGRectMake(0, 0, newSize.width, newSize.height));
CGImageRef imageRef = oldImage.CGImage;
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0);
CGContextRef resizeContext = UIGraphicsGetCurrentContext();
CGContextSetInterpolationQuality(resizeContext, kCGInterpolationHigh);
CGAffineTransform flipVertical = CGAffineTransformMake(1, 0, 0, -1, 0, newSize.height);
CGContextConcatCTM(resizeContext, flipVertical);
CGContextDrawImage(resizeContext, newRect, imageRef);
CGImageRef newImageRef = CGBitmapContextCreateImage(resizeContext);
UIImage *newImageResized = [UIImage imageWithCGImage:newImageRef];
CGImageRelease(newImageRef);
UIGraphicsEndImageContext();
dispatch_async(dispatch_get_main_queue(), ^{
cell.imageView.image = newImageResized;
});
Es ist noch notwendig, auf diese Weise neu zu zeichnen, aber der Punkt ist, dass Sie benötigen, um Ihre UIImage
erneut, um das Bild richtig angezeigt zu haben, zu zeichnen.
Code von here.
Ich habe das gleiche Problem in tvOS App. Wenn die Bildgröße nicht im Verhältnis 16: 9 ist, wird das Fokusbild nicht richtig angezeigt und das Bild wird durchbrochen. – vipulk617
Können Sie dieses Problem lösen? – vipulk617
@ vipulk617 Bitte lesen Sie meine Antwort. –