Not easy, I'm afraid. One way to do this is to leave imageTitle blank and the picture text on CALayer . I was able to get it to work with pretty decent results:

First of all, since you are not going to use the standard imageTitle property, you want to create a new title property in the <IKImageBrowserItem> -conforming data object. I just called me title .
Then you want to subclass IKImageBrowserCell . Be sure to tell your IKImageBrowserView that you are using a custom cell; I just wrote the following category for this:
@implementation IKImageBrowserView(CustomCell) - (IKImageBrowserCell *)newCellForRepresentedItem:(id)cell { return [[MyCustomImageBrowserCell alloc] init]; } @end
Then in your user cell redefine the method - (CALayer *)layerForType:(NSString *)type . Create and return a CALayer for a specific type of layer location:
- (CALayer *)layerForType:(NSString *)type { if( [type isEqualToString:IKImageBrowserCellBackgroundLayer] ) { CALayer *layer = [CALayer layer]; layer.delegate = self; layer.frame = self.frame;
Then we implement the -drawLayer:inContext: method in your custom cell to process the layer drawing:
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)context {
Unfortunately, this approach has several drawbacks. The text does not get a blue selection background, for example imageTitle . However, you can make your own selection background using NSBezierPath inside a custom CALayer for IKImageBrowserCellSelectionLayer .
I hope this is enough to continue.
source share