Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
MrGrig
177 / 160 / 38
Регистрация: 08.10.2012
Сообщений: 423
1

NSScrollView не показывает содержимое

06.03.2015, 15:41. Просмотров 863. Ответов 7
Метки нет (Все метки)

Не могу понять в чем проблема.

Есть на главной вьюшке (окне) NSScrollView. Если внутрь него добавлять элементы, до компиляции они видны, после уже нет. Также в коде appDelegate. я пробовал сделать аутлеты на главное вью, вью таблицы(я хочу несколько таблиц расположить во вьюшке с возможностью скролить их по горизонтали) и вью собсно скроллвью.

по коду

Objective-C
1
2
3
4
[_windView addSubview:_addTable];
//таблица добавляется на главную вьюшку. а по коду
[_collectView addSubview:_addTable] 
//таблица в скрол не добавляется (хотя возможно её и не видно просто)
голову ломаю уже 2й день
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.03.2015, 15:41
Ответы с готовыми решениями:

Не показывает содержимое флешек
Заражение произошло с флешки, теперь он заражает чужие флешки.

Placemark (яндекс карты) показывает метки на одной странице и не показывает на другой
Здравствуйте, уважаемые разработчики! Placemark (яндекс карты) показывает...

Eclipse показывает что в проекте есть ошибка но не показывает где
В классе явно есть ошибка, но Eclipse на "Package explolrer" ничего не...

в Винде 7 показывает, что на диске меньше места, чем показывает в ХР
У меня на на двух дисках стоят разные ОС - 7-ка и ХР. Как-то сканировал...

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

7
MrGrig
177 / 160 / 38
Регистрация: 08.10.2012
Сообщений: 423
09.03.2015, 12:25  [ТС] 2
Решение проблемы
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
09.03.2015, 12:36 3
Повторю еще раз - дружите с констрэйнтами, потратьте на это пару дней. Не нужно их отключать. Вы же не выбросите новый холодильник с touch управлением, потому что "ничего не понимаете"? Если выбросите - не нужно вам программировать вообще. Правда, займитесь другими делами, чтобы и вам было приятно, и остальным полезно.
Насчет constraints - это ОЧЕНЬ удобная вещь.
Особенно под iOS. И особенно сейчас, после выхода iPhone6/6+

Для того, чтобы "видеть" ваши отображения, можете "подсвечивать" их. Под этим я подразумеваю добавление цветных границ.
Еще лучше - разберитесь с LLVM хотя бы немного и воспользуйтесь chisel. Великолепная вещь.
Если по простому - вы могли бы поставить breakpoint и попросту вызвать "po _windView", "po _collectView", "po _addTable", "po _collectView.subviews" в консоли.
И было бы вам счастье.

В дополнение:
Objective-C
1
2
[_windView addSubview:_addTable];
[_collectView addSubview:_addTable];
Если вы так пишете и надеетесь, что _addTable(ужасное название для переменной, imho) будет добавлена на оба отображения - это не так.
1
MrGrig
177 / 160 / 38
Регистрация: 08.10.2012
Сообщений: 423
10.03.2015, 08:37  [ТС] 4
Цитата Сообщение от zulkis Посмотреть сообщение
Для того, чтобы "видеть" ваши отображения, можете "подсвечивать" их. Под этим я подразумеваю добавление цветных границ.
Еще лучше - разберитесь с LLVM хотя бы немного и воспользуйтесь chisel. Великолепная вещь.
Если по простому - вы могли бы поставить breakpoint и попросту вызвать "po _windView", "po _collectView", "po _addTable", "po _collectView.subviews" в консоли.
И было бы вам счастье.
Спасибо, на досуге посмотрю что за тема.

Цитата Сообщение от zulkis Посмотреть сообщение
Если вы так пишете и надеетесь, что _addTable(ужасное название для переменной, imho) будет добавлена на оба отображения - это не так.
я ни на что не надеюсь, я просто изучаю возможности языка (пока что), в юнити например подобная функция делала копию объекта.

Сейчас как раз проблема в создании копии настроенной под меня таблицы таблицы.

Objective-C
1
2
3
4
5
6
7
NSScrollView * addView = [_addTable copy]
//работать не хочет, крашится с ошибкой
 
-[NSView copyWithZone:]: unrecognized selector sent to instance 0x600000123a20
 
//даже если перед этим выделить память для addView
//хотя вроде как пишут что для всех объектов наследуемых от NSObject  протокол NSCopying определен =/
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
10.03.2015, 09:14 5
MrGrig, все верно пишут. Есть вот такая простая стандартная практика "копирования" отображений:
Objective-C
1
2
NSData *archivedViewData = [NSKeyedArchiver archivedDataWithRootObject:_addTable];
NSView *copiedView = [NSKeyedUnarchiver unarchiveObjectWithData:archivedViewData];
Но в вашем случае вы этим ничего не добьетесь. Если вам конечно одни и те же данные в 2х разных местах не нужно отображать, учитывая что _addTable у вас NSTableView насколько я понимаю.
0
MrGrig
177 / 160 / 38
Регистрация: 08.10.2012
Сообщений: 423
10.03.2015, 09:23  [ТС] 6
Цитата Сообщение от zulkis Посмотреть сообщение
MrGrig, все верно пишут. Есть вот такая простая стандартная практика "копирования" отображений:

Objective-C
1
2
NSData *archivedViewData = [NSKeyedArchiver archivedDataWithRootObject:_addTable];
NSView *copiedView = [NSKeyedUnarchiver unarchiveObjectWithData:archivedViewData];
Но в вашем случае вы этим ничего не добьетесь. Если вам конечно одни и те же данные в 2х разных местах не нужно отображать, учитывая что _addTable у вас NSTableView насколько я понимаю.
нет конечно, подразумевается что сначала добавляются таблицы. а потом если нужно в них заполняются данные
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
10.03.2015, 09:25 7
Цитата Сообщение от MrGrig Посмотреть сообщение
[_windView addSubview:_addTable]; //таблица добавляется на главную вьюшку. а по коду [_collectView addSubview:_addTable]
Я вот про этот код. Зачем одно и то же в 2 разных места добавлять?
0
MrGrig
177 / 160 / 38
Регистрация: 08.10.2012
Сообщений: 423
10.03.2015, 09:29  [ТС] 8
Цитата Сообщение от zulkis Посмотреть сообщение
Цитата Сообщение от MrGrig Посмотреть сообщение
Objective-C
1
2
[_windView addSubview:_addTable];
[_collectView addSubview:_addTable]
Я вот про этот код. Зачем одно и то же в 2 разных места добавлять?
Цитата Сообщение от MrGrig Посмотреть сообщение
в юнити например подобная функция делала копию объекта.
Я предполагал, что здесь возможно также добавится копия объекта а не сам объект
0
10.03.2015, 09:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.03.2015, 09:29

Почему установщик игры показывает объём свободного места на диске больший, чем таковой показывает система?
Доброго времени суток. Такой вопрос - решил поставить игру, которую долго ждал....

В Скайпе то показывает, то не показывает видео собеседника
Дано: ПК Athlon 4000, 1 Гб , Windows XP SP3 Бабушка жаловалась на то, что в...

Формулы не показывает в меню ( в тексте показывает)
Не показывается оснастка для построения формулы, что приводит к её не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru