Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Копирование ViewControllerов и плохой результат 
:(
    Опции темы
cosamia
Дата 3.10.2012, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 11.5.2005

Репутация: нет
Всего: нет



Структура storyboard следующая:

splitViewController где к detail подключен detailVC1
а к мастеру master1
master1 меняется на master2 и мастер2 должен отобразить новый результат на detail
master2 нельзя подключить через segue на detailVC1 - вообще не будет работать
Поэтому создан клон detailVC1 который условно будем называть detailVC2 и соответственно мастер2 имеет сегвей на этот детейл2
Тут все работает, однако есть странная проблема:
пока детейл1 выполняет обработку, в toolBar отображется ActivityIndicatorView
однако когда детейл2 выполняет обработку в toolBar ничего не отображается хотя property на этот ActivityIndicatorView не нулевое
У меня впечатление что этот индикатор работает в detail1 хотя на экране detail2 (они оба наследуются от одного VC)
И вот тут моих знаний не достаточно как уладить эту ситуацию 

PM   Вверх
Bitter
Дата 4.10.2012, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 10
Всего: 27



В Вашем описании сам черт не разберет что Вы имели в виду
PM MAIL ICQ Skype   Вверх
Maksys
Дата 4.10.2012, 07:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: нет
Всего: 17



Скажите себе: "Все должно быть проще!!!". И ищите варианты.


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
cosamia
Дата 4.10.2012, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 11.5.2005

Репутация: нет
Всего: нет



Цитата(Bitter @ 4.10.2012,  00:07)
В Вашем описании сам черт не разберет что Вы имели в виду

splitVC ----navigationC ---S1--> Master1---S2--->Master2
  |                                                                           |
  |                                                                           |---------------Detail2
  |
  ----------Detail1




Detail1: MyDetailVC1
Detail2: MyDetailVC1




PM   Вверх
Bitter
Дата 4.10.2012, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 10
Всего: 27



Ваша схема напоминает выкидыш младенца.
Во-первых объект segue имеет тип, это может быть push или modal или другие типы, что вы там используете известно только вам и Иисусу
Дальше, что значит вот эта часть?
Master2
    |
    |---------------Detail2

и каким боком к этому всему относится тулбар?
PM MAIL ICQ Skype   Вверх
cosamia
Дата 4.10.2012, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 11.5.2005

Репутация: нет
Всего: нет



Цитата(Bitter @ 4.10.2012,  13:04)
Ваша схема напоминает выкидыш младенца.
Во-первых объект segue имеет тип, это может быть push или modal или другие типы, что вы там используете известно только вам и Иисусу
Дальше, что значит вот эта часть?
Master2
    |
    |---------------Detail2

и каким боком к этому всему относится тулбар?

Какая разница какое сегвей если проблем с сегвеем нет?
Естественно при замене мастеров сегвей - пуш
А тип сегвея от мастера к детейл  - реплейс

Тулбар находится у вьюшки Детейл1 (Детейл2 - копия Детейл1)

Мастер2---Детейл2 означает связь на вьюшке между мастер2 и детейл2 через сегвей типа реплейс

Проблема как я описал выше состоит в том, что спиннер сейчас добавляется только в Детейл1
Однако если мастер1 будет заменен на мастер2 то при вызове сегвея с мастер2 на детейл2  спиннер не появляется в детейл2

Добавлено через 1 минуту и 10 секунд
Схема нарисованная выше - то что видно на сторибоард
В данном случае изображение текстовое а не графическое
PM   Вверх
Bitter
Дата 4.10.2012, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 10
Всего: 27



если вы добавляете спинер в детэил1, то почему он должен быть виден в дитэил2? 
PM MAIL ICQ Skype   Вверх
cosamia
Дата 4.10.2012, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 11.5.2005

Репутация: нет
Всего: нет



Цитата(Bitter @ 4.10.2012,  16:26)
если вы добавляете спинер в детэил1, то почему он должен быть виден в дитэил2?

ок, еще раз:
detail1, detail2 - идентичны
detail1: MyDetailVC
detail2: MyDetailVC
спиннер добавляется исключительно программно в toolbar
иными словами контроллер MyDetailVC где и происходит добавление не знает в кого он добавляет в detail1 или detail2
-ему без разницы
А кого показать сейчас - detail1 или detail2 определяет segue
PM   Вверх
Bitter
Дата 4.10.2012, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 10
Всего: 27



я правильно понимаю, что тулбар находится в каждом из дитэйлов? и соответственно спинер добавляется в свой тулбар. В каком месте добавляете и как? Пробовали спинер поставить сразу в сторибоарде?
PM MAIL ICQ Skype   Вверх
cosamia
Дата 4.10.2012, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 11.5.2005

Репутация: нет
Всего: нет



toolbar имеется в каждой вьюшке тк вьюшки абсолютно идентичны

добавляю спиннер кодом:
        UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
        self.iPadSpinner = activityView;
        [activityView startAnimating];
        activityView.hidesWhenStopped = YES;
        UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:activityView];
        [toolBarItems addObject:item];

В случае с detail2 в prepareForSegue вызываю метод который выполняет добавление спинера те
перед тем как загрузить детейл2 вызываю метод
проверял - метод вызывается и проперти iPadSpinner не нулевое
Есть подозрение что тк метод вызван из prepareforsegue то действие происходит в детейл1 а не детейл2
Однако не уверен как сделать так чтобы точно знать что вызвано будет после сегвея, вариант с viewDidAppear мне не нравится как-то

Пробовал в детейл2 добавить контрол спиннер однако почему-то он на детейл2 не отображается когда прога работает
Пробовал заменить на детейл2 спиннер на свитч - ради теста, свитч отображается а спиннер нет!
Хрень какая-то

Добавлено через 8 минут и 32 секунды
Короче добавил этот код в ViewDidLoad и оказалось что я был прав - в  prepareForSegue он вызывался для детейл1
сейчас он вызывается и для детейл2
вроде стало работать но нет уверенности что это правильный подход
PM   Вверх
Maksys
Дата 8.10.2012, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: нет
Всего: 17



Цитата(cosamia @  5.10.2012,  02:00 Найти цитируемый пост)
в  prepareForSegue он вызывался для детейл1

Мне кажется сигвей вызывается не для кого-то, а по индентификатору, а там уже видно кто его вызвал и для кого. Но я могу ошибаться.


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | iOS | Следующая тема »


 




[ Время генерации скрипта: 0.0474 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.