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

Objective-C

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

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

06.03.2015, 15:41. Просмотров 774. Ответов 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 не показывает содержимое
Посмотрите здесь:

ScrollView уводит содержимое за пределы Status Bar - Objective-C
Добрый день! Вот такая проблема появилась. при запуске приложения содержимое стоит как и положено. стоит пролистать содержимое вверх,...

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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 не показывает содержимое
Еще ссылки по теме:

Софт показывает, что система активирована, а ОС показывает что нет - Windows 8, 8.1
Я активировал 8.1 pro ключом от kmsauto, вставил, и вроде все норма, да, но ОС пишет что, мол, активируйте виндовс, как быть ? Может...

Передать ZipInputStream содержимое TextArea. Или как запаковать содержимое текстового поля - Java SE
Есть простой текстовый редактор. Необходимо добавить функцию сохранения сразу в zip.(Не спрашивайте зачем, просто задание в контексте...

Заменить содержимое одной строки на содержимое другой - C (СИ)
Есть две строки символов: char* c ="my string" char c1="ssss"; Нужно заменить "string" на содержимое c1. Как это...

Добавить к первому файлу содержимое второго файла, а ко второму файлу — содержимое первого - Pascal ABC
Даны два файла одного и того же типа. Добавить к первому файлу содержимое второго файла, а ко второму файлу — содержимое первого.

Добавить к первому файлу содержимое второго файла, а ко второму файлу — содержимое первого. - Turbo Pascal
11. Даны два файла одного и того же типа. Добавить к первому файлу содержимое второго файла, а ко второму файлу — содержимое первого. ...


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

Или воспользуйтесь поиском по форуму:
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 не показывает содержимое
Ответ Создать тему
Опции темы

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