Sto cercando un modo per disegnare un effetto di dissolvenza su una vista tabella (e vista struttura, ma penso che sarà lo stesso) quando il contenuto viene fatto scorrere. Ecco un esempio dalla Fantastical app:Effetto dissolvenza nella parte superiore e inferiore di NSTableView/NSOutlineView
anche un video di una dissolvenza simile su QuickLook finestre here.
per rendere questo ho cercato sottoclasse della ScrollView di un Tableview con questo codice:
#define kFadeEffectHeight 15
@implementation FadingScrollView
- (void)drawRect: (NSRect)dirtyRect
{
[super drawRect: dirtyRect];
NSGradient* g = [[NSGradient alloc] initWithStartingColor: [NSColor blackColor] endingColor: [NSColor clearColor]];
NSRect topRect = self.bounds;
topRect.origin.y = self.bounds.size.height - kFadeEffectHeight;
topRect.size.height = kFadeEffectHeight;
NSRect botRect = self.bounds;
botRect.size.height = kFadeEffectHeight;
[NSGraphicsContext saveGraphicsState];
[[NSGraphicsContext currentContext] setCompositingOperation: NSCompositeDestinationAtop];
// Tried every compositing operation and none worked. Please specify wich one I should use if you do it this way
[g drawInRect: topRect angle: 90];
[g drawInRect: botRect angle: 270];
[NSGraphicsContext restoreGraphicsState];
}
... ma questo non svanì nulla, probabilmente perché questo viene chiamato prima la vista reale tavolo è disegnato. Non ho idea di come fare questo :(
Tra l'altro, sia la Tableview e outlineview voglio avere questo effetto sono a base di vista, e l'applicazione è solo 10,7.
è possibile fornire un video l'effetto o il link iTunes dell'app che si ispirano a? – viggio24
@ viggio24 aggiunto il link a Fantastical sull'app store e un video di un altro esempio – Alex