Задать вопрос
Rou1997
@Rou1997

Cocoa на OS X в Xcode: почему, если в окно добавить WebView, то при запуске оно станет пустым, вообще без контролов?

Создал проект. Xcode, Cocoa, Swift (не думаю, что ЯП имеет значение)
Кинул Button и Label.
Запустил. Кнопка и надпись на месте.
Кинул WebView.
Запустил. Пусто - ни кнопки, ни надписи, ни WebView. Подождал немного, "потягал" окно туда-сюда (вдруг проблемы с перерисовкой). Все равно пусто.
Убрал WebView.
Запустил. Кнопка и надпись опять на месте.

Что это может быть?
Работал с разными "движками" браузеров, на разных ОС, платформах, и никогда ничего подобного не встречал. И Google тоже не встречал.
По опыту с WinForms мог бы предположить, что по умолчанию WebView заполняет все окно и закрывает контролы.
Но, во-первых, я пробовал Hidden, и ничего не изменилось.
Во-вторых, в Interface Builder видно, что WebView имеет "фиксированные" координаты, а не заполняет весь контейнер.
В-третьих, как вообще хваленые дизайнеры Apple могли допустить, что дизайн окна в Interface Builder до такой степени отличается от его вида при запуске, и это в приложении уровня Hello World? Это и есть то, что я должен захотеть лизнуть? :) А если я лизну, WebView появится? Это у них механизм перерисовки так работает? Или это как-то связано с безопасностью (серфинга через WebView), по тому же принципу, что и сканирование отпечатков пальцев?
  • Вопрос задан
  • 459 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Rou1997
@Rou1997 Автор вопроса
Следовало подключить WebKit.framework.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
0xcffaedfe
@0xcffaedfe
Developer & Reverser
В четвертых советую покурить книжку. Ибо в них написано что да как делать, а то что вы там себе думали и как вы бы хотели что бы было, мало кого волнует.
Ответ написан
@Shannon
Вообще совет правильный, правда есть проблема, легко нарваться на туториалы, которые учат сходу отключать Auto Layout и вручную выставлять все отступы, что делать совершенно не нужно, так как Interface Builder сам справляется с этой задачей

В двух словах:
После того как расставлены все нужные формы, кнопки и т.д. нужно нажать:
Resolve_Auto_Layout_Popup_2x.pngAll Views in View Controller -> Add Missing Constraints и/или расставить/подправить их вручную, если автоматический способ чем-то не устроил

Подробнее:
https://developer.apple.com/library/ios/documentat...

Запускать (чтобы посмотреть результат расстановки элементов), кстати, тоже не обязательно, предпросмотр делается так:
Screen-Shot-2015-09-05-at-1.39.09-PM.png
Подробнее:
https://developer.apple.com/library/ios/recipes/xc...

Вообще в этом официальном разделе Interface Builder потыкайтесь, много картинок, сразу разъясняющие что и как работает, самые ходовые вопросы там разобраны
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы