Donc j'essaye de faire un UITableView qui a un fond répété. Je veux que l'arrière-plan défile avec le texte. Le hic, c'est que le fond est de 2 images. Il y a une image supérieure d'environ 550 pixels de hauteur, puis une image de répéteur de 2 pixels de hauteur. Je veux que l'image du haut défile avec la vue de la table et finisse par disparaître, puis l'image du segment se répète. Cette vue se trouve en fait en dessous d'un UITableView dans un contrôleur de vue.UITableView répétant l'arrière-plan avec 2 images
Voici mon dessin pour l'arrière-plan. J'appelle setNeedsDisplay quand la tableview sur le dessus défile.
-(void)drawRect:(CGRect) rect
{
CGRect topRect = CGRectMake(0, _tableViewRect.origin.y, 320, min(max(0, CGImageGetHeight(top) - _tableViewRect.origin.y), _tableViewRect.size.height));
CGRect segmentRect = CGRectMake(0, topRect.size.height, 320, _tableViewRect.size.height - topRect.size.height);
if(topRect.size.height > 0)
{
CGImageRef newImageRef = CGImageCreateWithImageInRect(top, topRect);
UIImage *newImage = [UIImage imageWithCGImage:newImageRef];
[newImage drawAtPoint:CGPointMake(0,0)];
}
[[UIImage imageWithCGImage: segment] drawAsPatternInRect:segmentRect];
}
Cela fonctionne mais il est très chuggy sur ma 3G. Est-ce que quelqu'un a des conseils d'optimisation, ou une autre façon de le faire?
Salutations
Oh d'accord. Quelle est la meilleure façon de blit. C'est ce que je voulais faire mais je n'ai pas vraiment trouvé quelque chose. – Meroon
Consultez les documents CGContextRef (http://developer.apple.com/mac/library/DOCUMENTATION/GraphicsImaging/Reference/CGContext/Reference/reference.html), plus précisément CGContextDrawImage. Rappelez-vous, vous pouvez obtenir un CGImageRef sur un UIImage en utilisant la propriété .CGImageRef. –
Je n'arrive pas à trouver comment bien mixer. Pouvez-vous me diriger vers des articles qui en discutent? Ou avez-vous du code? J'apprécie vraiment votre aide. – Meroon