Каков наилучший способ создания поля адреса, такого как сафари?NSTextField как адресная строка сафари
Нужно иметь редактируемый текст и определенный индикатор прогресса.
Каков наилучший способ создания поля адреса, такого как сафари?NSTextField как адресная строка сафари
Нужно иметь редактируемый текст и определенный индикатор прогресса.
Вы можете просто подкласс NSTextField
и переопределить метод -drawRect:
, чтобы «заполнить» соответствующий процент всей ширины цветом или градиентом (или что-то еще) для прогресса. Если я правильно понимаю ваш вопрос.
-(void)drawRect:(NSRect)dirtyRect {
CGFloat progress = 0.33;
NSRect progressRect = [self bounds];
progressRect.size.width *= progress;
[[NSColor colorWithCalibratedRed:0.0 green:0.0 blue:1.0 alpha:0.4] set];
NSRectFillUsingOperation(progressRect, NSCompositeSourceOver);
[super drawRect:dirtyRect];
}
Очевидно, что «прогресс» будет исходить от имущества, которое вы декларируете и обновляете в соответствии с моделью. Вам нужно убедиться, что setDrawsBackground:
отключен, или фон установлен на [NSColor clearColor];
, чтобы ваш пользовательский чертеж был виден.
Это выстрел из кода выше.