Comment rendre l'arrière-plan d'un IKImageBrowserView transparent? Il semble n'y avoir aucune option de couleur d'arrière-plan dans le constructeur de l'interface.Cocoa: Comment rendre l'arrière-plan d'un IKImageBrowserView transparent?
Ce que j'ai essayé:
Je ne l'ai jamais utilisé Core Animation, mais j'ai vu IKImageBrowserView a une méthode setBackgroundLayer, donc j'ai essayé ce qui suit, qui n'a eu aucun effet:
CALayer* layer = [CALayer layer];
[layer setFrame: NSMakeRect(0, 0, 1000, 1000)];
[layer setBackgroundColor: CGColorCreateGenericRGB(0.0f, 0.0f, 0.0f, 0.0f)];
[browser setBackgroundLayer: layer];
Voilà la référence de classe pour IKImageBrowserView.
CALayer n'a pas de méthode setBackgroundColor (le compilateur aurait dû vous le dire). http://developer.apple.com/iphone/library/documentation/GraphicsImaging/Reference/CALayer_class/Introduction/Introduction.html – peelman
peelman: Oui, c'est le cas. Il a une propriété 'backgroundColor', ce qui signifie qu'il a un getter' backgroundColor' et (puisque la propriété est readwrite) un setter 'setBackgroundColor:'. Souvenez-vous que l'accès aux propriétés (par exemple 'layer.backgroundColor = ...') est exactement équivalent à -c'est-à-dire qu'il génère le même code qu'une expression de message (par exemple '[layer setBackgroundColor: ...]' de la question). En outre, ceci est une question de Mac; méfiez-vous des différences API entre Cocoa et Cocoa Touch. –
Max: Vous avez également divulgué cet objet CGColor. Core Graphics suit les règles de gestion de la mémoire de Core Foundation: http://developer.apple.com/mac/library/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/ –