Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UIViewController + UIView, addSubview 
V
    Опции темы
estra
Дата 19.7.2012, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Нужна помощь (сильно не пинайте, в iOS я новичок smile)

Есть UIViewController и в нем 2 UIView (view и view2). При старте приложения на экране видим view, в процессе работы открывается view2 (view addSubview:view2). Далее в методе контроллера willAnimateRotationToInterfaceOrientation мне нужно в зависимости от того, какой view сейчас виден, сделать те или иные действия. Как проще (правильнее) это сделать?

Я думал прокатит чтото вроде
Код

if (self.view == view2)

но так не получается.

хотелось бы найти решение (по возможности) без использование дополнительных переменных, которые надо устанавливать/сбрасывать при показе/скрытии view.
PM MAIL   Вверх
Maksys
Дата 19.7.2012, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


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

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



Кстати у UIView есть свойство tag, дай им уникальные теги и сможешь их по ним индетнифицировать

Добавлено @ 13:40
Цитата(estra @  19.7.2012,  16:07 Найти цитируемый пост)
if (self.view == view2)

Блин ты не понимаешь строения вьюх
 у контроллера self  априори есть его стандартная view
view2  же скорее ты добавил через addSubview?  Если так то чтоб ее сравнить тебе придется залезть на уровень ниже:

self.view.subviews-
                           |-view1
                           |-view2

В таком случае ты можешь их сравнивать только с дочерними. Но это если только ты не заменяешь self.view другой view2.

Добавлено @ 13:43
Если ж со сменой вьюх не получится, попробуй контроллер поменять: как это делается можно посмотреть совет Bitter`а

Это сообщение отредактировал(а) Maksys - 19.7.2012, 13:44


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


Шустрый
*


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

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



Цитата(Maksys @  19.7.2012,  13:35 Найти цитируемый пост)
self.view.subviews-
                           |-view1
                           |-view2

В таком случае ты можешь их сравнивать только с дочерними. Но это если только ты не заменяешь self.view другой view2. 


как именно?
if (self.view.subview == view2) не проходит.
PM MAIL   Вверх
Maksys
Дата 19.7.2012, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


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

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



выведи в NSLog(@"%@",self.view.subviews);
ты должен увидеть все подвьюхи и свой view2.
для того чтоб сравнить:
Код

if([self.view.subviews objectAtIndex:0]==view2) 



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


Шустрый
*


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

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



Цитата(Maksys @  19.7.2012,  14:22 Найти цитируемый пост)
выведи в NSLog(@"%@",self.view.subviews);

вывел, 5ая запись по попядку
делаю так
Код

if((UIView *)[self.view.subviews objectAtIndex:4]==view2)

не работает

Добавлено через 11 минут и 10 секунд
Сделал через Tag, для начала сойдет.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | iOS | Следующая тема »


 




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


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

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