Невозможно отобразить изображение в NSImageView из URL-адреса изображения - PullRequest
0 голосов
/ 22 мая 2018

Я пытаюсь получить изображение для отображения внутри NSImageView.Вот мой код:

- (IBAction)openExistingDocument:(id)sender {
NSOpenPanel* panel = [NSOpenPanel openPanel];

[panel beginWithCompletionHandler:^(NSInteger result){
    if (result == NSModalResponseOK) {
        NSURL*  theDoc = [[panel URLs] objectAtIndex:0];

        [self->_imageView setImage: [NSImage imageNamed: theDoc]];
    }

}];

}

Спасибо!

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Если изображение находится в самом приложении, то вы можете напрямую указать имя изображения с расширением в этом методе

[NSImage imageNamed:@"Image1.png"];

, но если вы указываете путь, вы должны использовать этот метод:

[[NSImage alloc] initWithContentsOfURL:theDoc];

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

Надеюсь, это поможет вам

0 голосов
/ 22 мая 2018

Попробуйте это:

- (IBAction)openExistingDocument:(id)sender {
NSOpenPanel* panel = [NSOpenPanel openPanel];

[panel beginWithCompletionHandler:^(NSInteger result){
    if (result == NSModalResponseOK) {
        NSURL*  theDoc = [[panel URLs] objectAtIndex:0];

        [self->_imageView setImage: [[NSImage alloc] initWithContentsOfURL:theDoc]];
    }

}];

Вы можете использовать [NSImage imageNamed:, когда изображение находится в вашем активе изображения или в Bundle. При обращении к изображению из Bundle укажите полное имя изображения с расширением, а если изображение -в папке Image Asset будет работать только имя.Вы не должны предоставлять URL для [NSImage imageNamed:

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