cocoa – 窗口顶部的iTunes或Xcode样式信息框

cocoa – 窗口顶部的iTunes或Xcode样式信息框,第1张

概述我有什么选择在 Cocoa的iTunes顶部重新创建框,或者像Apple在XCode 4中使用的那样? 这只是一个简单的图像,控制在顶部?或者它是一个具有一些自定义风格魔法的NSBox? 我必须为我的一个项目编写类似的代码.对于我的解决方案,您将需要此 tutorial中的示例代码中提供的两个类别.此代码将绘制背景渐变和必要的阴影,您可以在控件内添加其他内容.目前,代码将绘制Xcode样式渐变作为 我有什么选择在 Cocoa的iTunes顶部重新创建框,或者像Apple在XCode 4中使用的那样?

这只是一个简单的图像,控制在顶部?或者它是一个具有一些自定义风格魔法的NSBox?

解决方法 我必须为我的一个项目编写类似的代码.对于我的解决方案,您将需要此 tutorial中的示例代码中提供的两个类别.此代码将绘制背景渐变和必要的阴影,您可以在控件内添加其他内容.目前,代码将绘制Xcode样式渐变作为背景,但如果您需要,可以将其注释掉并取消注释iTunes样式.希望这可以帮助.
#import "NSShadow+MCAdditions.h" // from the tutorial linked to above#import "NSBezIErPath+MCAdditions.h" // from the same tutorial- (voID)drawRect:(NSRect)dirtyRect {    static NSShadow *kDropShadow = nil;    static NSShadow *kInnerShadow = nil;    static NSGradIEnt *kBackgroundGradIEnt = nil;    static NScolor *kbordercolor = nil;    if (kDropShadow == nil) {        kDropShadow = [[NSShadow alloc] initWithcolor:[NScolor colorWithCalibrateDWhite:.863 Alpha:.75] offset:NSMakeSize(0,-1.0) blurRadius:1.0];        kInnerShadow = [[NSShadow alloc] initWithcolor:[NScolor colorWithCalibrateDWhite:0.0 Alpha:.52] offset:NSMakeSize(0.0,-1.0) blurRadius:4.0];        kbordercolor = [[NScolor colorWithCalibrateDWhite:0.569 Alpha:1.0] retain];        // iTunes style        /*         kBackgroundGradIEnt = [[NSGradIEnt alloc] initWithcolorsAndLocations:[NScolor colorWithCalibratedRed:0.929 green:0.945 blue:0.882 Alpha:1.0],0.0,[NScolor colorWithCalibratedRed:0.902 green:0.922 blue:0.835 Alpha:1.0],0.5,[NScolor colorWithCalibratedRed:0.871 green:0.894 blue:0.78 Alpha:1.0],[NScolor colorWithCalibratedRed:0.949 green:0.961 blue:0.878 Alpha:1.0],1.0,nil];         */        // Xcode style        kBackgroundGradIEnt = [[NSGradIEnt alloc] initWithcolorsAndLocations:[NScolor colorWithCalibratedRed:0.957 green:0.976 blue:1.0 Alpha:1.0],[NScolor colorWithCalibratedRed:0.871 green:0.894 blue:0.918 Alpha:1.0],[NScolor colorWithCalibratedRed:0.831 green:0.851 blue:0.867 Alpha:1.0],[NScolor colorWithCalibratedRed:0.82 green:0.847 blue:0.89 Alpha:1.0],nil];    }    NSRect bounds = [self bounds];    bounds.size.height -= 1.0;    bounds.origin.y += 1.0;    NSBezIErPath *path = [NSBezIErPath bezIErPathWithRoundedRect:bounds xRadius:3.5 yRadius:3.5];    [NSGraphicsContext saveGraphicsstate];    [kDropShadow set];    [path fill];    [NSGraphicsContext restoreGraphicsstate];    [kBackgroundGradIEnt drawInBezIErPath:path angle:-90.0];    [kbordercolor setstroke];    [path strokeInsIDe];    [path fillWithInnerShadow:kInnerShadow];}
总结

以上是内存溢出为你收集整理的cocoa – 窗口顶部的iTunes或Xcode样式信息框全部内容,希望文章能够帮你解决cocoa – 窗口顶部的iTunes或Xcode样式信息框所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1108380.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存