2011-12-22 11 views
5

के शीर्ष और निचले हिस्से पर फीका प्रभाव मैं तालिका दृश्य पर फीका प्रभाव खींचने का एक तरीका ढूंढ रहा हूं (और रूपरेखा दृश्य, लेकिन मुझे लगता है कि यह वही होगा) जब सामग्री स्क्रॉल हो जाती है।NSTableView/NSOutlineView

fade effect on top

इसके अलावा quicklook खिड़कियों here पर एक समान फीका का एक वीडियो: यहाँ Fantastical app से एक उदाहरण है।


इस मैं इस कोड के साथ एक tableview की scrollview उपवर्गीकरण की कोशिश की करने के लिए:

#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]; 
} 

... लेकिन यह कुछ भी नहीं हो पाती नहीं था, शायद इसलिए क्योंकि इस वास्तविक तालिका दृश्य से पहले कहा जाता है मुरझाया है। मैं दृश्य-आधारित कर रहे हैं कि कैसे दोनों tableview और outlineview मैं इस आशय करना चाहते हैं इस :(

वैसे ऐसा करने के लिए, पर पता नहीं है, और एप्लिकेशन 10.7 है केवल।

+0

आप प्रभाव या एप्लिकेशन को आप पर प्रेरणादायक की आइट्यून्स लिंक का एक वीडियो प्रदान कर सकते हैं? – viggio24

+0

@ viggio24 ने ऐप स्टोर पर Fantastical के लिंक और एक और उदाहरण का वीडियो जोड़ा – Alex

उत्तर

7

मैक ओएस में एक्स (जैसा कि आपका प्रश्न टैग किया गया है), कई गठिया हैं जो इसे मुश्किल बनाते हैं। यह विशेष रूप से लोचदार लोच के साथ शेर पर सच है।

मैंने (अभी आज) एक साथ रखा है जो मुझे लगता है कि काम करने से बेहतर तरीका है तालिका या रूपरेखा दृश्य सीधे: एक कस्टम NSScrollView सबक्लास, जो अपने क्लिप दृश्य के ऊपर सही स्थान पर दो "फीका दृश्य" रखता है। JLNFadingScrollView वांछित फीड ऊंचाई और रंग के साथ कॉन्फ़िगर किया जा सकता है और यह मुक्त/खुला स्रोत है Github। कृपया लाइसेंस का सम्मान करें और आनंद लें। :-)

Examples of JLNFadingScrollView