Я пытаюсь реализовать контроллер с разделенным представлением, используя раскадровки и Swift на MacOS:
Почему-то отображается только правая сторона. Любые идеи ?
Я пытаюсь реализовать контроллер с разделенным представлением, используя раскадровки и Swift на MacOS:
Почему-то отображается только правая сторона. Любые идеи ?
На самом деле это проблема размера окна. Поскольку он не определен, он выталкивает левую сторону из поля зрения. Просто поместите курсор слева и перетащите, чтобы отобразить вид слева.
Надеюсь, поможет.
ОБНОВЛЕНИЕ:
На самом деле это НЕ проблема размера окна. Похоже, что контроллер разделения экрана по умолчанию выталкивает одну сторону из поля зрения. И наоборот, я смог правильно просмотреть две панели с помощью компонента разделенного представления, вставленного в контроллер представления.
Я буду проверять информацию об этой проблеме в последней версии WWDC:
https://developer.apple.com/videos/wwdc/2014/?id=212
https://developer.apple.com/videos/wwdc/2014/?id=214
ОБНОВЛЕНИЕ 11.03.14:
После минуты 07:00 первого скринкаста я понял, что происходит. Взгляните на скриншот ниже:
Может потребоваться несколько попыток, прежде чем у вас все получится. Я проверил это три раза, и это действительно сработало.
NSSplitViewDelegate
класс SplitViewController: NSSplitViewController{//,NSSplitViewDelegate
Swift раскадровки: контроллер разделенного представления не отображается должным образом
Это было действительно проблемой и для меня. Теперь я решил эту проблему в своем коде.
1. Создайте расширенный класс NSSplitViewController. 2. Установите класс, созданный на этапе 1, в качестве пользовательского класса в вашем SplitView, который вы создали в StoryBord. 3. вызовите MySplitView.adjustSubviews() внутри viewDidLoad().
import Cocoa
class SplitViewController: NSSplitViewController{//,NSSplitViewDelegate
@IBOutlet weak var MySplitView: NSSplitView!
override func viewDidLoad() {
super.viewDidLoad()
MySplitView.adjustSubviews();
}
override func splitView(splitView: NSSplitView, constrainMinCoordinate proposedMinimumPosition: CGFloat, ofSubviewAt dividerIndex: Int) -> CGFloat {
return proposedMinimumPosition + 200
}
}