2015-01-07 5 views
1

Можно ли задержать показ NSWindow до тех пор, пока содержимое веб-страницы, которое оно содержит, не будет полностью загружено?Показать NSWindow при загрузке webview

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

+0

Просто подумайте, а где вы загружаете представление? В методе windowDidLoad делегата окна? – jwlaughton

+0

вид загружается автоматически через раскадровку. Одно из возможных решений - установить альфа-значение в 0, и как только все будет готово, установите прокси-альфа-аниматора в 1. Этот вид работ, но затем поведение окна не совпадает с обычным поведением. – Pass

+0

Использование xib-файла и создание собственного контроллера окон может дать вам немного большую гибкость. – jwlaughton

ответ

0
  1. В Interface Builder (Атрибуты раздел) выберите окно и снимите флажок Visible При запуске
  2. Чтобы получать уведомления, когда все ресурсы загрузится, использование: https://developer.apple.com/library/mac/documentation/Cocoa/Reference/WebKit/Protocols/WebFrameLoadDelegate_Protocol/index.html#//apple_ref/occ/instm/NSObject/webView:didFinishLoadForFrame:

    - (Недействительными) Webview :(WebView *) отправитель didFinishLoadForFrame: (WebFrame *) frame {...}

  3. Внутри метода используется [windowController showWindow: nil]; показать окно

+0

Ничего себе. Это выглядит очевидно. Благодарю. Я попробую и отчитаюсь. – Pass

Смежные вопросы