【问题标题】:drawRect in a subclass view without another implementation没有其他实现的子类视图中的drawRect
【发布时间】:2011-08-28 20:59:40
【问题描述】:

我想要我的 drawRect 函数,

-(void)drawRect{
    NSBezierPath * path = [NSBezierPath bezierPath];
    [path setLineWidth:4];
    NSPoint center = {ycord,xcord};
    [path moveToPoint: center];
    [path appendBezierPathWithArcWithCenter:center 
                                     radius:plyr_size 
                                 startAngle:0 
                                   endAngle:360]; 
    [[NSColor blackColor] set];
    [path fill];
    [[NSColor blackColor] set];
    [path stroke];
}

位于 NSView 的子类中,无需添加另一个 @implementation 和 @interface。 这是为了实现裁剪。 或者,还有其他剪辑选项吗?如果你告诉我“NSBezierPath 的 drawclip”,那么你必须自己解释。

【问题讨论】:

  • 目前还不清楚你想要什么以及你想要实现什么。
  • 不,你没有。您说,您希望NSView 的未指定子类包含某些方法,但您不想实现此类。我不清楚。你想要你的drawRect: 实现中的代码来剪辑它正在绘制的内容吗?还是您对无法更改的现有(框架)类有疑问,并且您希望剪切此视图的内容?
  • 我想要一个矩形区域,可以剪裁边界之外的任何东西。
  • 责备那些试图帮助你的人不是一个好方法。 Niklolai 说得很对,他说不清楚你想做什么“添加另一个@implementation ...”等等。我建议你以更清晰的方式问你问题,而不是打开大写字母。

标签: objective-c nsview drawrect clipping nsbezierpath


【解决方案1】:
[NSBezierPath clipRect:myClipRect];

【讨论】:

  • myClipRect 的定义是什么?
  • 它是一个NSRect,用于保存您的剪辑区域。专业提示:从“帮助”菜单中,您可以访问 Xcode 的内置文档查看器。 Apple 的文档通常非常好。
猜你喜欢
  • 1970-01-01
  • 2011-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-14
  • 2011-02-06
  • 1970-01-01
  • 2014-11-29
相关资源
最近更新 更多