Per anni ho usato l'approccio di Bill Dudney, ma iOS 6 è una soluzione molto migliore. E ... oggi ho trovato un modo per farlo funzionare anche su vecchie versioni di iOS.
- creare la nuova classe "UIImage + Piastrellabile" (fonte copia/incolla di seguito)
- importazione presente in tutte le fasce in cui si desidera un UIImageView immagine di piastrelle con. Si tratta di una categoria, in modo da "aggiornamenti" tutto il vostro UIImage di in quelli tileable, utilizzando standard di Apple chiama
- quando si desidera una versione "piastrelle" di un'immagine, chiamata: "image = [immagine imageResizingModeTile]"
UIImage + Tileable.h
#import <UIKit/UIKit.h>
@interface UIImage (Tileable)
-(UIImage*) imageResizingModeTile;
@end
UIImage + Tileable.m
#import "UIImage+Tileable.h"
@implementation UIImage (Tileable)
-(UIImage*) imageResizingModeTile
{
float iOSVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
if(iOSVersion >= 6.0f)
{
return [self resizableImageWithCapInsets:UIEdgeInsetsZero resizingMode:UIImageResizingModeTile];
}
else
{
return [self resizableImageWithCapInsets:UIEdgeInsetsZero];
}
}
@end
Grazie! Bene, quello che voglio fare è: ho un file immagine con un motivo, che può essere ripetuto verticalmente e orizzontalmente. Voglio ripetere questo modello di immagine sul mio schermo. Forse risparmia un po 'di memoria. – Thanks
Se si utilizza il metodo UIColor descritto, lo schermo verrà riempito con l'immagine del motivo. Ci sono modi più complessi ma dalla tua descrizione questo dovrebbe funzionare. –
Ciao, funziona, ma l'Alpha dell'immagine non funziona. :(Qualsiasi soluzione –