Форум программистов, компьютерный форум CyberForum.ru

Objective-C

Войти
Регистрация
Восстановить пароль
 
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
#1

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

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

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

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

по коду

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

PHP Скрипт, который вверху показывает какуето строку, а ниже показывает информацию с определенного сайта.
Eclipse показывает что в проекте есть ошибка но не показывает где JAVA IDE
Не показывает содержимое флешек
ScrollView уводит содержимое за пределы Status Bar Objective-C
в Винде 7 показывает, что на диске меньше места, чем показывает в ХР Windows 7
Записать в текстовый файл содержимое Edit, и прочитать содержимое файла в Memo Delphi
В Скайпе то показывает, то не показывает видео собеседника Софт
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
09.03.2015, 12:25  [ТС]     NSScrollView не показывает содержимое #2
Решение проблемы
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
09.03.2015, 12:36     NSScrollView не показывает содержимое #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) будет добавлена на оба отображения - это не так.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
10.03.2015, 08:37  [ТС]     NSScrollView не показывает содержимое #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 определен =/
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
10.03.2015, 09:14     NSScrollView не показывает содержимое #5
MrGrig, все верно пишут. Есть вот такая простая стандартная практика "копирования" отображений:
Objective-C
1
2
NSData *archivedViewData = [NSKeyedArchiver archivedDataWithRootObject:_addTable];
NSView *copiedView = [NSKeyedUnarchiver unarchiveObjectWithData:archivedViewData];
Но в вашем случае вы этим ничего не добьетесь. Если вам конечно одни и те же данные в 2х разных местах не нужно отображать, учитывая что _addTable у вас NSTableView насколько я понимаю.
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
10.03.2015, 09:23  [ТС]     NSScrollView не показывает содержимое #6
Цитата Сообщение от zulkis Посмотреть сообщение
MrGrig, все верно пишут. Есть вот такая простая стандартная практика "копирования" отображений:

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

Java SE Передать ZipInputStream содержимое TextArea. Или как запаковать содержимое текстового поля
Формулы не показывает в меню ( в тексте показывает) MS Word
Софт показывает, что система активирована, а ОС показывает что нет Windows 8, 8.1
Windows 7 Почему установщик игры показывает объём свободного места на диске больший, чем таковой показывает система?
Placemark (яндекс карты) показывает метки на одной странице и не показывает на другой PHP

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

Или воспользуйтесь поиском по форуму:
MrGrig
176 / 159 / 2
Регистрация: 08.10.2012
Сообщений: 422
10.03.2015, 09:29  [ТС]     NSScrollView не показывает содержимое #8
Цитата Сообщение от zulkis Посмотреть сообщение
Цитата Сообщение от MrGrig Посмотреть сообщение
Objective-C
1
2
[_windView addSubview:_addTable];
[_collectView addSubview:_addTable]
Я вот про этот код. Зачем одно и то же в 2 разных места добавлять?
Цитата Сообщение от MrGrig Посмотреть сообщение
в юнити например подобная функция делала копию объекта.
Я предполагал, что здесь возможно также добавится копия объекта а не сам объект
Yandex
Объявления
10.03.2015, 09:29     NSScrollView не показывает содержимое
Ответ Создать тему
Опции темы

Текущее время: 10:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru