我正在构建一个显示和编辑文本的自定义NSView子类 - 我有点显示一个闪烁的插入符号 - 我无法在任何地方找到引用 - 有人可以指向我的功能或参考吗? (在Windows中我会做ShowCaret - 一块蛋糕)。 TIA。
答案 0 :(得分:1)
如果你真的需要这样做,那么你必须自己实现它。您的视图应该有一个布尔值来存储当前的闪烁状态,您需要使用重复计时器在您的计时器方法中执行类似的操作:
- (void)updateCaret:(NSTimer*)timer
{
caretBlinkActive = !caretBlinkActive; //this sets the blink state
[self setNeedsDisplayInRect:[self caretRect]];
}
您需要实现caretRect
以返回当前的插入符号矩形。
在drawRect:
的实现中,您需要优化绘图,以便仅绘制脏矩形,并且您使用caretBlinkActive
的值来绘制插入符号。 / p>
要在第一时间创建计时器,您可以执行以下操作:
[NSTimer scheduledTimerWithTimeInterval:caretBlinkRate
target:self
selector:@selector(updateCaret:)
userInfo:nil
repeats:YES];
答案 1 :(得分:0)
为什么不使用NSTextView
?你会免费获得这种行为。