objective-c - setNeedsDisplay 不起作用?

标签 objective-c cocoa drawing key-value-observing

我在简单的 Cocoa 应用程序中重绘自定义 View 时遇到问题。绘图基于一个参数,该参数由一个简单的 NSSlider 更改。但是,尽管我实现了 -setParameter: 和 -parameter 方法并将 slider 的值绑定(bind)到界面生成器中的该参数,但我似乎无法创建自定义 View 来重绘自身。

重绘的代码是这样的:

- (void)setParameter:(int)newParameter {
  parameter = newParamter;
  NSLog(@"Updated parameter: %d", parameter);
  [self setNeedsDisplay:YES];
}

我确实收到了关于设置新参数的消息,尽管 View 本身没有重绘。欢迎任何想法!

最佳答案

通常的语法是:[self setNeedsDisplay:YES],尽管我认为这意味着同一件事。您是在实现 - (void)drawRect:(NSRect)rect 方法,还是使用父类(super class)的 drawRect: 方法?

关于objective-c - setNeedsDisplay 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/327326/

相关文章:

iphone - 复制 NSMutableArray 时出现问题

javascript - 在 Canvas 中绘图变得偏移

c++ - Qt - 更新 PaintGL

iphone - isOrientationSupported 在 IOS 中已弃用

ios - 单击按钮时 UIAlertView 静默崩溃

ios - [NSCFArray 长度] : unrecognized selector sent to instance

java - IPhone App 与 Java ServerSocket 之间的 SSL 连接

objective-c - 使用IB连接NSImageView查看?

iphone - _iVar 与 iVar_ 变量命名

vb.net - 按下按钮时创建一条线