2009-09-13 18 views
8

Mam NSSplitView i po lewej stronie Mam tableView (podobnie jak listę źródeł) iw zależności od wyboru wiersza, chcę zmienić prawą stronę podziału widok. Nie wiem, jak to zrobić.Ustawienie jednej strony NSSplitView programowo

Po dodaniu żądanego podzamczu do podzielonego widoku, dodaje on kolejny podział (więc teraz są 3 widoki ogółem ... nie to, co chciałem).

[mySplitView addSubview:myCustomView]; 

Jak poprawnie ustawić właściwą stronę mojego SplitView?

Aktualizacja

Korzystanie

[mySplitView replaceSubview:[[mySplitView subviews] objectAtIndex:1] withSubview:myCustomView] 

wydaje się działać, jednak to zmiana rozmiaru widoku podzielonego dość dziwnie, w jaki sposób można temu zapobiec? W IB istnieje opcja wyłączenia autoResizesSubviews, ale nie mogę tego odznaczyć. Jakieś pomysły?

Odpowiedz

9

Spróbuj ustawić ramkę nowego widoku do widoku starego widoku przed wykonaniem zamiany.

+0

Działa pięknie. Dzięki! – jbrennan

+0

jak to robisz? – JonF

+1

@ Jon: 1. Pobierz ramkę starego widoku. 2. Ustaw do tego ramkę nowego widoku. 3. Następnie zamień stary widok na nowy. –

0

Możesz również rzucić okiem na BWToolkit, który zapewnia znacznie lepszy sposób ustawiania rozmiarów boków podzielonego panelu.

+0

Zajrzałem już do tego wcześniej i prawdopodobnie w końcu z niego skorzystam. Na razie chcę nauczyć się, jak robić rzeczy na "Twardą drogę", aby lepiej je zrozumieć. Uważam, że kiedy zaczynam od zestawów narzędzi, zbyt wiele z nich wydaje się magią. Po tym, jak będę czuć się komfortowo, prawdopodobnie go użyję. Nie słyszałem nic poza tym dobrze. – jbrennan

Powiązane problemy