ich die Einfügemarke Größe zu ändern, indem -(void)drawInsertionPointInRect:(NSRect)aRect color:(NSColor *)aColor turnedOn:(BOOL)flag
überschreiben, aber es behandelt nicht die erste blinken (wenn Sie die Einfügemarke bewegen, geht es zurück zu normal)Individuelle Einfügemarke für NSTextView
ich es geschafft, Handle das erste Mal durch Überschreiben der privaten Methode - (void)_drawInsertionPointInRect:(NSRect)aRect color:(NSColor *)aColor
.
Aber das ist keine Lösung für mich, da das Überschreiben der privaten Methode zu einem Rückgang durch App Store führt. Ich möchte, dass die App im App Store verfügbar ist. Ich sehe Apps wie iAWriter und Writeroom haben einen benutzerdefinierten Einfügepunkt und sie sind im App Store.
Weiß jemand, wie sie das geschafft haben, oder einen besseren Weg, anstatt die private Methode zu überschreiben?
Danke.
- (void)_drawInsertionPointInRect:(NSRect)aRect color:(NSColor *)aColor
{
aRect.size.width = 3.0;
[aColor set];
[NSBezierPath fillRect:aRect];
}
- (void)drawInsertionPointInRect:(NSRect)aRect color:(NSColor *)aColor turnedOn:(BOOL)flag
{
if(flag) {
aRect.size.width = 3.0;
[aColor set];
[NSBezierPath fillRect:aRect];
}
else {
[self setNeedsDisplayInRect:[self visibleRect] avoidAdditionalLayout:NO];
}
}
Haben Sie versucht, den Einfügepunktbereich zu löschen (füllen Sie mit Hintergrund, was auch immer), wenn Flag falsch ist? –