Фоновое изображение для окна в платформе Какао

Если вы используете Lombok в своем коде, то вы можете просто добавить следующую аннотацию, чтобы избавиться от этой ошибки:

@NoArgsConstructor
public class SearchController {

6
задан Marc Charbonneau 8 June 2009 в 20:07
поделиться

2 ответа

Майкл Ваннорсдел предлагает для этой цели разделить NSView на подклассы, и я цитирую:

Вам действительно было бы лучше создать Подкласс NSView и его отрисовка изображение, которое вы хотите в drawRect:.

- (void)awakeFromNib
{
   myImage = [[NSImage alloc] init....

   [self setNeedsDisplay:YES];
}

- (void)drawRect:(NSRect)rect
{
   NSSize isize = [myImage size];
   [myImage drawInRect:[self bounds] fromRect:NSMakeRect(0.0, 0.0,  
isize.width, isize.height) operation: NSCompositeCopy fraction:1.0];
}

Прочтите всю эту ветку на cocoabuilder , это весьма поучительно.

3
ответ дан 16 December 2019 в 21:45
поделиться

Окно в Какао имеет представление корневого уровня, называемое «представлением содержимого». Это представление, которое содержит все остальные в окне. По умолчанию это ' просто пустой NSView . Но вы можете легко создать свой собственный подкласс NSView , переопределить метод drawRect: для рисования фонового изображения и использовать его для своего пользовательского представления.

Однако это может быть просто будет проще использовать старый добрый NSImageView . Преимущество этого заключается в том, что вы можете настроить, например, поведение при автоматическом изменении размера, чтобы изображение было закреплено в одном углу (попробуйте это с помощью Installer.app, изменив размер окна установщика). Вы также можете сделать его полупрозрачным, чтобы фон немного просвечивал. (Опять же, я думаю об Installer.app; ваше приложение могло бы быть совершенно другим)

Надеюсь, что вы двинетесь в правильном направлении!

переопределите метод drawRect: для рисования фонового изображения и используйте его для своего пользовательского представления.

Однако может быть проще использовать простой старый NSImageView . Преимущество этого заключается в том, что вы можете настроить, например, поведение при автоматическом изменении размера, чтобы изображение было закреплено в одном углу (попробуйте это с помощью Installer.app, изменив размер окна установщика). Вы также можете сделать его полупрозрачным, чтобы фон немного просвечивал. (Опять же, я думаю об Installer.app; ваше приложение могло бы быть совершенно другим)

Надеюсь, что вы двинетесь в правильном направлении!

переопределите метод drawRect: для рисования фонового изображения и используйте его для своего пользовательского представления.

Однако может быть проще использовать простой старый NSImageView . Преимущество этого заключается в том, что вы можете настроить, например, поведение при автоматическом изменении размера, чтобы изображение было закреплено в одном углу (попробуйте это с помощью Installer.app, изменив размер окна установщика). Вы также можете сделать его полупрозрачным, чтобы фон немного просвечивал. (Опять же, я думаю об Installer.app; ваше приложение могло бы быть совершенно другим)

Надеюсь, что вы двинетесь в правильном направлении!

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

Надеюсь, что вы двинетесь в правильном направлении!

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

Надеюсь, что вы двинетесь в правильном направлении!

5
ответ дан 16 December 2019 в 21:45
поделиться