代码之家  ›  专栏  ›  技术社区  ›  Mark

2年前你希望了解可可/核心基金会的辅助功能?

  •  13
  • Mark  · 技术社区  · 16 年前

    我刚刚在nsgeometry.h(即nsmidx、nsmaxx等)中发现了nsret helper函数。

    这些将使一些重复的编码更加容易。我知道nsmakerect、nsmouseinrect、nsoffsetrect和其他许多功能,但不知何故错过了帮助重新计算nsrect几何的功能。

    7 回复  |  直到 6 年前
        1
  •  16
  •   Jason Medeiros    7 年前

    我发现nsStringFrom*()在记录CGRect、CGPoint等结构时很有用。

    你可以在苹果的网站上找到一个全面的概述。 Foundation Functions Reference (返回机器链接)。

        2
  •  5
  •   Era    15 年前

    helper函数用于绘制三部分图像,包括左盖、填充和右盖。非常适合定制按钮

    void NSDrawThreePartImage(NSRect frame,
        NSImage *startCap,
        NSImage *centerFill,
        NSImage *endCap,
        BOOL vertical,
        NSCompositingOperation op,
        CGFloat alphaFraction,
        BOOL flipped
    );
    

    也寻找 nsdrawninepartImage(nsdrawninepartImage)

        3
  •  4
  •   Niels Hansen    16 年前

    这是我希望6个月前就知道的。我正在创建我们的第一个iPhone应用程序,我想使用uiwebview控制器创建一个基于HTML的简单帮助文件。

    但是,我不知道如何嵌入我存储在包中的本地映像,我不希望用户必须访问Internet才能从服务器获取映像。

    我几乎不知道我可以通过以下方法从主包中获取图像

    NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
    NSURL *bundleBaseURL = [NSURL fileURLWithPath: bundlePath];
    
    [webView loadHTMLString:htmlContent baseURL: bundleBaseURL];
    

    然后,HTML中的图像可以直接调用本地图像。

    <img src="yourImageFromTheMainBundle.jpg" />
    

    我不知道我可以用包的位置设置baseurl。

        4
  •  4
  •   aleclarson    6 年前

    有时候我浪费了不少时间,因为我不知道 NSCountedSet 把我的词典替代品弄得一团糟。我知道有几种情况下,人们做同样的事情是因为他们不知道 NSSet CFBinaryHeap ,它实现优先级队列,但不具有等效的ns。

        5
  •  3
  •   Colin Wheeler    16 年前

    我记得

    + (NSBezierPath *)bezierPathWithRoundedRect:(NSRect)rect xRadius:(CGFloat)xRadius yRadius:(CGFloat)yRadius
    

    当然,弄清楚如何手动绘制圆角矩形是一个很好的练习。还有一些我现在已经习惯了。

        6
  •  3
  •   nduplessis    16 年前

    从图案图像创建颜色

    [UIColor colorWithPatternImage:[UIImage imageNamed:@"mypattern.png"]];
    
        7
  •  -1
  •   Mark    16 年前

    这是一个捷径,而不是一个我错过的图书馆电话,但它是在精神的线程。

    我使用alot的一个快捷方式是在nslog调用中使用内联格式语句。

    
    NSLog(@"x=%@", [someobject className]);
    

    而不是更冗长

    
    NSLog([NSString stringWithFormat:@"x=%@", [someobject classname]]);