У меня есть два окна, мое главное окно «окно» и «окно справки» внутри моего приложения-делегата. В моем главном окне его представление подклассом, и я хочу нарисовать прямоугольник внутри него. Окно моей справки также имеет прямоугольник, но на нем есть NSTracker. То, что я хочу сделать, это нарисовать мой прямоугольник в моем подклассе окна с координатами x и y, равными моей позиции NSTracker. Проблема, с которой я столкнулась, это сбой, когда я пытаюсь ввести координаты, любые идеи о том, что я могу делать неправильно? спасибоДоступ к переменной int из другого класса
// Мой подкласс окна называется CutoutView. Это все в розыгрыше прямоугольнику
AppDelegate *controller = [[[NSApp delegate] window] contentView];
xValue = controller.mouseLoc.x;
yValue = controller.mouseLoc.y;
NSRectFillUsingOperation(NSMakeRect(xValue,yValue, 600, 400), NSCompositeClear);
[self update];
- (void)update
{
NSLog(@"test");
[self setNeedsDisplay:YES];
}
// Моя AppDelegate с трекером helpView является ссылкой на мнение моего второго окна «Помощь Window»
-(void)updateTrackingAreas
{
if(trackingArea != nil) {
[self.helpView removeTrackingArea:trackingArea];
[trackingArea release];
}
opts = (NSTrackingActiveAlways | NSTrackingMouseEnteredAndExited | NSTrackingMouseMoved);
trackingArea = [ [NSTrackingArea alloc] initWithRect:[self.helpView bounds]
options:opts
owner:self
userInfo:nil];
[self.helpView addTrackingArea:trackingArea];
}
-(void)mouseMoved:(NSEvent *)theEvent
{
mouseLoc = [NSEvent mouseLocation];
NSLog(@"mouseMoved: %f %f", mouseLoc.x, mouseLoc.y);
}
в моем CutoutView я я получаю AppController неправильно, потому что он находится в другом окне «helpWindow»? или это связано с моими значениями int?
Какая линия рушится? Что такое сообщение об ошибке? –
говорит, что mouseLoc является непризнанным селектором, посланным экземпляру, My mouseLoc является NSPoint для трекера, является ли проблема, берущая значения x и y и получающие их от значений int xValue и yValue? –