Tôi đang tìm cách vẽ hiệu ứng mờ dần trên chế độ xem bảng (và chế độ xem phác thảo, nhưng tôi nghĩ nó sẽ giống nhau) khi nội dung được cuộn. Dưới đây là một ví dụ từ các ứng dụng Fantastical:Hiệu ứng phai màu ở trên và dưới của NSTableView/NSOutlineView
Ngoài ra một đoạn video của một phai tương tự trên QuickLook cửa sổ here.
Để làm điều này tôi đã cố gắng subclassing scrollview của một tableview với mã này:
#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];
}
... nhưng điều này không phai bất cứ điều gì, có lẽ vì điều này được gọi trước khi xem bảng thực tế được vẽ. Tôi không có ý tưởng về làm thế nào để làm điều này :(
Bằng cách này, cả hai tableview và outlineview Tôi muốn có hiệu ứng này được xem dựa trên, và các ứng dụng là 10,7 chỉ.
bạn có thể cung cấp video về hiệu ứng hoặc liên kết iTunes của ứng dụng bạn đang truyền cảm hứng không? – viggio24
@ viggio24 đã thêm liên kết tới Fantastical trên cửa hàng ứng dụng và video của một ví dụ khác – Alex