J'ai réussi (avec l'aide de post) à ouvrir un PLStaticWallpaperImageViewController
du cadre privé PhotoLibrary, qui permet le réglage direct du fond d'écran et de l'écran de verrouillage (en utilisant la même interface utilisateur que l'application Photos). Malheureusement, les fonctions de recadrage et de zoom ne semblent pas fonctionner, car les retouches sur la vue de l'image ne semblent pas se produire (la vue principale n'est pas non plus supprimée correctement après avoir appuyé sur les boutons annuler/régler, mais n'est pas si important).Le rognage/zoom ne fonctionne pas lors de la configuration iOS Fond d'écran utilisant le framework privé PhotoLibrary
J'ai un projet Xcode démontrant le paramètre de papier peint (peut être exécuté dans le simulateur ainsi qu'un appareil non jailbreaké):
https://github.com/newenglander/WallpaperTest/
Le code est assez basique, et implique une ViewController
héritant de PLStaticWallpaperImageViewController
et mettre en œuvre une méthode init similaire à ce qui suit:
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [self initWithUIImage:[UIImage imageWithContentsOfFile:@"/System/Library/WidgetResources /ibutton/[email protected]"]];
self.allowsEditing = YES;
self.saveWallpaperData = YES;
return self;
}
(Il sera nécessaire pour permettre l'accès à la photothèque après le premier lancement, et s Quelque raison que le popup pour cela vient derrière l'application, plutôt que sur le dessus.)
Peut-être quelqu'un a un aperçu de pourquoi le recadrage/zoom ne fonctionne pas, ou peut me donner une autre façon de définir le papier peint dans une application (destinée à Cydia plutôt qu'à l'App Store bien sûr)?
Merci, dans cette bibliothèque, je ne peux toujours pas recadrer, bien que le zoom fonctionne. Mais je ne vois pas comment cela aide directement ma question. Avez-vous essayé mon projet d'échantillon? – newenglander
@newenglander J'ai amélioré ma réponse pour aider sur votre problème – BlackSheep
Merci. J'ai mis à jour le projet pour répondre à quelques-uns de vos points. Mais comme j'utilise un framework privé d'Apple qui est utilisé par l'application Photos elle-même, je ne veux pas faire le zoom et le recadrage moi-même, cela devrait être fait par la classe ('PLStaticWallpaperImageViewController') que j'utilise. – newenglander