Какао - программно растягивает NSView по вертикали, перемещая все после него вниз - PullRequest
0 голосов
/ 22 февраля 2011

У меня три NSViews сложены друг на друга, и я хочу иметь возможность программно изменять размер среднего, чтобы растягивать его по вертикали, перемещая нижний на ту же величину, что растягивает средний.

Вот изображение ASCII:

|--------------|
|      1       |
|--------------|

|--------------|
|      2       |
|--------------|

|--------------|
|      3       |
|--------------|

Итак, в основном я хочу иметь возможность растягивать NSView 2 по вертикали, чтобы полученное изображение выглядело так:

|--------------|
|      1       |
|--------------|

|--------------|
|              |
|      2       |
|              |
|--------------|

|--------------|
|      3       |
|--------------|

Как правильно поступить так? Спасибо!


Редактировать: вот дополнительный вопрос ...

Как мне выйти из этого:

|--------------|
|      1       |
|--------------|

|--------------|
|      2       |
|--------------|

|--------------|
|     2.5      |
|--------------|

|--------------|
|      3       |
|--------------|

К этому:

|--------------|
|      1       |
|--------------|

|--------------|
|              |
|      2       |
|              |
|--------------|

|--------------|
|              |
|     2.5      |
|              |
|--------------|

|--------------|
|      3       |
|--------------|

Ответы [ 2 ]

2 голосов
/ 22 февраля 2011

Самый простой способ сделать это - с помощью маски с автоматическим изменением размера.

Вы можете установить маску автоматического изменения размера программно с помощью

- (void)setAutoresizingMask:(NSUInteger)mask

или в Интерфейсном конструкторе.

В IB маской авторизации первого представления будет

enter image description here

Второй:

enter image description here

Третий:

enter image description here

1 голос
/ 22 февраля 2011

Похоже, вам нужен NSSplitView или CHLayoutManager .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...