2016-12-12 17 views
0

Я пытаюсь реализовать представление счетчика, которое показывает количество элементов в NSTableCellView. Странно, что он автоматически перемещается вправо после изменения размера окна или прокрутки NSOutlineView с NSTableCellView. Вот несколько скриншотов. Вы сможете увидеть представление счетчика, которое показывает, что «42» перемещается вправо после изменения размера окна.Элемент управления в NSTableCellView перемещается вправо автоматически после изменения размера или прокрутки

The weird behavior Ниже приведено состояние начала просмотра счетчика. Init State Ниже приведено состояние после изменения размера окна. After Resize Ниже приведена разница между положением начала и положением после изменения размера окна. The Difference Cell Autoresize Property Cell AUTORESIZE Свойство Count Button Autoresize Property заблокированные AUTORESIZE недвижимости

enter image description here enter image description here

Я предполагаю, что это связано с Scrollview, но я не смог найти больше подсказок по поводу этого вопроса. BTW, официальное приложение Mail на Mac работает так же, как и с этим, но разница в том, что счетчик приложения Mail изменяется сразу после запуска, поэтому он не перемещается после изменения размера окна.

Кто-нибудь знает об этом? Любые мысли были бы оценены.

Вот ссылка, которая позволяет загрузить образец проекта, который предоставляет яблоко, и вы можете воспроизвести то, с чем я сталкиваюсь. Sidebar Demo App that providing by Apple.

Вам необходимо изменить цель развертывания, прежде чем запускать ее из Project -> Targetets -> Information Information section.

+0

Вы используете автозапуск? Если да, то какие ограничения? Это, очевидно, некоторая проблема с выравниванием, но не зная, как указаны выравнивания, невозможно предложить предложение. –

+0

Спасибо за ответ. Нет, я не использую автозапуск. Вместо этого я использую autoresizing свойство. Я просто подключаюсь к интерфейсу Interface Builder. – Tommy

+0

Я добавил 2 скриншота, связанных с свойствами Autoresize. – Tommy

ответ

0

Если я правильно интерпретирую скриншоты авторезистирования, элемент управления «42» ведет себя как указано. Вы прикрепили правую сторону счетчика «42» к правой стороне ячейки. И именно там он остается, приклеенный к правой стороне клетки.

Клетка прикреплена к левой стороне стола, и там она остается, приклеенная к левой стороне стола. Вы не привязали правую сторону ячейки к чему-либо, и поэтому, когда вы изменяете размер, правая сторона идет туда, где ей нравится, только поддерживая указанную ширину ячейки. Если вы хотите приклеить правую сторону ячейки к ширине таблицыView или столбца (не уверен, что это такое), прикрепите ее. Укажите минимальную ширину ячейки. Если вы не укажете максимальную ширину или фиксированную ширину, ячейка будет растягиваться и сжиматься с изменением размера. Если вы зафиксируете ширину, будет растягиваться только правильный вид или столбец.

+0

Спасибо за ответ. Кстати, хотя я привязал правую сторону ячейки к правой стороне, все же элемент управления «42 »перемещается вправо после изменения размера. Кроме того, даже если я оставил« 42 », который был прикреплен к правильной работе, то же самое. Я думаю приложение Mail автоматически регулирует положение счета после запуска, будет подсказкой. – Tommy