связать nsrect и nstextfield - PullRequest
       1

связать nsrect и nstextfield

2 голосов
/ 09 октября 2011

Я хотел бы привязать фрейм NSView к свойству модели NSRect.Я сделал это следующим образом:

[textView.enclosingScrollView bind:@"frame" toObject:bindingsController withKeyPath:@"selection.textFrame" options:nil];

Но я также хотел бы привязать frame.origin.x к nstextField.Как это сделать, с NSValueTransformer?

1 Ответ

0 голосов
/ 10 октября 2011

Вы можете привязать только к свойству, что означает, что вы не можете привязать к определенной части кадра напрямую. Вы можете сделать это косвенно, связавшись с фреймом и используя преобразователь для получения только координаты x, или вы можете добавить свойство к вашему представлению, которое обращается к фрейму и возвращает координату x. Я бы предложил второй метод, так как вы можете сделать это, используя категорию вместо подкласса, и легче разрешить установку значения.

@interface NSView (FrameXCoordinate)
@property (nonatomic) double frameXCoordinate;
@end

@implementation NSView (FrameXCoordinate)

- (double)frameXCoordinate {
    return [self frame].origin.x;
}
- (void)setFrameXCoordinate:(double)x {
    NSRect frame = [self frame];
    frame.origin.x = x;
    [self setFrame:frame];
}

@end

Используя это, вы просто привязываете к свойству frameXCoordinate и добавляете средство форматирования чисел в свое текстовое поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...