Форум программистов, компьютерный форум, киберфорум
Objective-C
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
6 / 6 / 0
Регистрация: 23.06.2011
Сообщений: 92

hide или removeFromSuperview

06.03.2012, 14:47. Показов 2191. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Я пишу приложение с несколькими видами. При переходе с одного на другой, их приходится то скрывать ,то добавлять. Какой способ лучше для этого использовать, чтоб съэкономить память приложения, hide или removeFromSuperview ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.03.2012, 14:47
Ответы с готовыми решениями:

SplitView - hide Detail & show Master in Portrait
Привет! Помогите, пожалуйста, советом, как можно заставить SplitViewController в ландшафтной ориентации вести себя "как...

Аналог Hide Folders (Скрытие/блокировка папок или отдельных файлов)
Ребят, подскажите куда копать. Хочу создать свою программу для скрытия/блокировки папок. Hide Folders это делает как-то средствами...

Hide When
блин ни как понять не могу мне нужно скрыть кнопку когда поле имеет значение "1" call...

9
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
07.03.2012, 08:20
Это ну очень неважно. Вы даже на iPhone 1го поколения этим ничего толком не улучшите. Используйте эти 2 метода в зависимости от того, что вам реально нужно сделать, удалить вьюху из массива subview, либо просто её скрыть, не меняя иерархии.
1
 Аватар для Adem
6 / 6 / 0
Регистрация: 17.04.2009
Сообщений: 34
08.03.2012, 09:39
Цитата Сообщение от zulkis Посмотреть сообщение
Это ну очень неважно. Вы даже на iPhone 1го поколения этим ничего толком не улучшите. Используйте эти 2 метода в зависимости от того, что вам реально нужно сделать, удалить вьюху из массива subview, либо просто её скрыть, не меняя иерархии.
Наверное, при условии, что всё-таки в этом представлении не содержится колоссального объёма информации)
0
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
08.03.2012, 10:31
Adem, ну это уже банальные вещи
0
15 / 15 / 0
Регистрация: 18.11.2010
Сообщений: 122
10.03.2012, 01:01
Все зависит от типа родительского вью и от поставленных задач. Если стоит вопрос о том прятать элементы на ячейке(cell) или удалять , то в Апплевской документации они говорят что надо удалять, иначе у приложения будет падать производительность, потому что система все равно будет прорисовывать элемент, просто потом сделает его невидимым. В обще аппел не рекомендует что-либо прятать, лучше удалять и выше производительность будет и меньме памяти будет занято в текущий момент. Хайды удобно использовать в случае малого сокрытия элементов нв целых формах. Пример, жмем по ячейки переходим на скрин,если номер телефона у данной сущности есть отобразить кнопку call иначе спрятать(если у тебя ксиб это самый простой способ сэкономить и время и производительность не упадет).
1
6 / 6 / 0
Регистрация: 23.06.2011
Сообщений: 92
10.03.2012, 10:07  [ТС]
Цитата Сообщение от Santer.Net Посмотреть сообщение
Все зависит от типа родительского вью и от поставленных задач. Если стоит вопрос о том прятать элементы на ячейке(cell) или удалять , то в Апплевской документации они говорят что надо удалять, иначе у приложения будет падать производительность, потому что система все равно будет прорисовывать элемент, просто потом сделает его невидимым. В обще аппел не рекомендует что-либо прятать, лучше удалять и выше производительность будет и меньме памяти будет занято в текущий момент. Хайды удобно использовать в случае малого сокрытия элементов нв целых формах. Пример, жмем по ячейки переходим на скрин,если номер телефона у данной сущности есть отобразить кнопку call иначе спрятать(если у тебя ксиб это самый простой способ сэкономить и время и производительность не упадет).
Спасибо, хороший ответ.
0
3 / 3 / 1
Регистрация: 19.11.2013
Сообщений: 40
04.06.2014, 16:05
Подскажите: Есть UIView, на который добавляется кастомный UIVew

Objective-C
1
[self.infoView addSubview:customerView];
Мне надо его удалить потом. Делаю:
Objective-C
1
[customerView removeFromSuperview];
но с экрана он не удаляется.

А вот такой код помогает:
Objective-C
1
2
3
for ( UIView* mysubview in [self.infoView subviews]) {
        [mysubview removeFromSuperview];
    }
В чем дело?
0
 Аватар для noname_club
112 / 103 / 12
Регистрация: 01.05.2013
Сообщений: 603
04.06.2014, 16:37
В чем дело?
брейк поинтами проверяйте указатели. наверняка [customerView removeFromSuperview]; вызывает nil
0
3 / 3 / 1
Регистрация: 19.11.2013
Сообщений: 40
05.06.2014, 08:09
проверил customerView - не nil.
customerView это синтезированное свойство.
Попробовал написать [self.customerView removeFromSuperview];
А если объявить его как приватную переменную, то тоже нифига не работает. Ничего не понимаю...

Добавлено через 24 минуты
забыл дописать:
Objective-C
1
[self.customerView removeFromSuperview];
работает
0
 Аватар для noname_club
112 / 103 / 12
Регистрация: 01.05.2013
Сообщений: 603
05.06.2014, 09:01
customerView это синтезированное свойство.
забудь про слово sythenize если используешь ARC

правила объявления свойств при включенном ARC:


1) strong свойства

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@interface MyClass: NSObject
 
@property NSString * hello; // << по умолчанию strong
 
@end
 
@implementation MyClass
 
-(void) viewDidLoad {
    
    // << внутри класса обращение идет через подчеркивание
    _hello = @"my value"; 
    NSLog(@"%@", _hello);
}
 
-(void) dealloc{
    // strong свойства требуют заниливания в dealloc
    _hello = nil;
}
 
@end
2) weak свойства

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@interface MyClass: NSObject
 
@property NSString * hello;
@property (weak,nonatomic) NSString * helloWeak;
 
@end
 
@implementation MyClass
 
-(void) viewDidLoad {
    
    _hello = @"my value"; 
    _helloWeak = _hello;
    NSLog(@"%@", _helloWeak);
}
 
-(void) dealloc{
    // weak свойства не требуют заниливания в dealloc
    _hello = nil;
}
 
@end
3) assign свойства
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
@interface MyClass: NSObject
 
@property (nonatomic) NSString * hello;
 
@end
 
@implementation MyClass
 
-(void) viewDidLoad {
    
    _hello = @"my value"; // уставнока значения напрямую
    
    NSLog(@"%@", self.hello);
    
    // уставливаем через сеттер
    
    self.hello = @"my value2";
    
    NSLog(@"%@", self.hello);
}
 
-(void) setHello: (NSString*) value {
    
    NSLog(@"Вызван сеттер свойства");
    
    _hello = [NSString stringWithFormat: @"%@%@", value , @"_setter_ready"];
}
 
-(void) dealloc{
 
    _hello = nil;
}
 
@end
4) readonly свойства
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@interface MyClass: NSObject
 
@property (readonly) NSString * hello;
 
@end
 
@implementation MyClass
 
-(void) viewDidLoad {
    
 
    NSLog(@"%@", self.hello);
}
 
-(NSString*) hello {
    return @"Вызван геттер свойства";
}
 
@end
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.06.2014, 09:01
Помогаю со студенческими работами здесь

Hide
как можно сделать,что бы при нажатии на кнопку,форма пряталась,что бы её даже в трее не было видно,а вызывалась по нажатию определённых...

Hide()
Навесил на селект событие, при клике прятать его первый дочерний элемент методом hide(). при этом происходит следующее: нижнее значение...

Hide
как можно сделать,что бы при нажатии на кнопку,форма пряталась,что бы её даже в трее не было видно,а вызывалась по нажатию определённых...

Easy hide ip
Может есть у кого ключи к етой программе?

Hide and cookie
В общем, просто решил протестировать,и не получилось.В общем мне нужно если set_menu(в кукисе) если равна единице - срабатывал hide. Вот...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru