2010-03-23 23 views
3

Je place une image dans un IKImageView et je la dimensionne immédiatement pour l'ajuster. Chaque fois que je fais cela, l'image apparaît à l'origine au format 1-1 (énorme) et redimensionne ensuite, ce qui serait bien si l'animation était lisse. Cependant, l'animation semble ... fluttery? Il y a de gros blocs, comme 2 pouces carrés, de l'image qui apparaissent et rétrécissent indépendamment les uns des autres. L'effet est un peu agaçant, et presque au niveau où il pourrait donner une crise d'épilepsie ... (J'exagère un peu).IKImageView resize is blocky

Est-ce un bug dans IKImageView? Est-ce un bug dans l'animation? Sera-t-aller si j'éteins l'animation (Comment puis-je faire setAnimates: NO ne semble pas faire quoi que ce soit, ni ne surcharge animez retourner NO dans ma sous-classe ...

EDIT: addedcode:

NSImage* image = [doc currentImage]; 
[imageView setImage: image]; 
[imageView zoomImageToFit: self]; 

C'est dans le contrôleur de l'application, de sorte que l'auto est l'application (ou plug-in, selon la version que je regarde)

+0

Pouvez-vous poster le code que vous utilisez pour ajouter l'image et la taille? –

+0

notez que la méthode setImage: de IKImageView est réellement PRIVATE. Je l'utilise actuellement dans une application de mac app store et je n'ai pas été rejeté pour cela, mais je l'enlève dans la prochaine version parce que je viens juste de réaliser que c'était privé. Utilisez 'CGImageRef refImg = [img CGImageForProposedRect: contexte NULL: astuces NULL: NULL]; [imageView setImage: refImg imageProperties: nil]; 'à la place. –

Répondre

2

Si vous dites au IKImageView à AutoResize, alors il ne sera pas animé la nouvelle image à la nouvelle taille et les artefacts ne seront pas un problème.L'image sera dimensionnée pour entrer dans la vue de l'image immédiatement

+0

excellent merci! –