mam Zmiana rozmiaru punkt wstawiania nadrzędnymi -(void)drawInsertionPointInRect:(NSRect)aRect color:(NSColor *)aColor turnedOn:(BOOL)flag
, ale nie zajmuje pierwszego migać (jeśli przenieść punkt wstawiania, to wraca do normy)Niestandardowy punkt wstawiania na NSTextView
udało mi się obsłużyć pierwsze mrugnięcie, przesłonięcie prywatnej metody - (void)_drawInsertionPointInRect:(NSRect)aRect color:(NSColor *)aColor
.
Ale to nie jest rozwiązanie dla mnie, ponieważ pominięcie metody prywatnej spowoduje, że App Store zostanie odrzucony. Chcę, aby aplikacja była w App Store. Widzę aplikacje takie jak iAWriter i Writeroom mają niestandardowy punkt wstawiania i znajdują się w App Store.
Czy ktoś wie, w jaki sposób udało się to zrobić, czy lepiej, niż nadpisywanie prywatnej metody?
Dzięki.
- (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];
}
}
Czy próbowałeś wyczyścić obszar punktu wstawienia (wypełnij tłem, cokolwiek innego), gdy flaga jest fałszywa? –