Zgodnie z dokumentacją na NSSplitViewControllers, powiązany NSSplitView używa NSSplitViewController jako delegata. W szczególności w dokumentacji "Kontroler widoku podzielonego służy jako delegat jego obiektu widoku dzielonego (obiekt, który zarządza dzielnikami) .Jeśli nadpisujesz metodę delegowania widoku podzielonego, twoje nadpisanie musi wywołać super."NSSplitViewController w OSX 10.10 przy użyciu Xcode 6
Zaimplementowałem NSSplitViewController w konstruktorze interfejsów i nadałem mu klasę. Jednak żaden z delegatów splitView nie jest nigdy wywoływany. Dodatkowo, jeśli po prostu robię coś takiego jak pluć, który delegat splitView [NSLog (@ "% @", self.splitView.delegate); ], wynikiem jest "null". Jeśli jednak przypisać delegata albo w samej IB (przeciągając wylot przekazać NSSplitViewController) lub wewnątrz kodu ([self.splitView setDelegate: self]), pojawia się następujący błąd:
An uncaught exception was raised
SplitViewController's splitView is unable to use autolayout because the SplitViewController overrides an incompatible delegate method.
Jestem kompletnie oszołomiony.
DZIĘKUJEMY! Początkowo byłem niesamowicie zdezorientowany, ponieważ myślałem, że jedynymi opcjami są niskie (250) i wysokie (750), a kiedy to zrobiłem, nie dostałem takiego zachowania, jakiego oczekiwałem. Zmieniając wzór wzorca 0 na widok podrzędny na 260 i pozostawiając wzorzec trzymania widoku podrzędnego na 250, otrzymałem dokładnie to, co próbowałem zrobić. Bardzo doceniane! –
Dzięki! Ta informacja nie jest nigdzie zapisana w dokumentacji! – b123400