Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Spelcrawler
531 / 501 / 113
Регистрация: 12.03.2014
Сообщений: 1,666
Завершенные тесты: 1
#1

Спрятать вьюшку

13.11.2015, 16:01. Просмотров 446. Ответов 0
Метки нет (Все метки)

Здравствуйте. Как можно спрятать вьюшку совсем т.е. не просто убрать ее видимость но и освободить занимаемое ей место (аналог view.setVisibility(View.GONE); из андроид)? Пробовал так
Objective-C
1
self.frame = CGRectMake(self.frame.origin.x, self.frame.origin.y, 0, 0);
Но не работает - так и висит.

Добавлено через 1 час 44 минуты
Дело было в autoLayout, решил с помощью категории к UIView

UIView+Visibility.h
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
 
@interface UIView (Visibility)
 
typedef enum {
    VISIBILITY_VISIBLE,
    VISIBILITY_INVISIBLE,
    VISIBILITY_GONE
} ViewVisibility;
 
- (void)setVisibility:(ViewVisibility)visibility;
 
@end


UIView+Visibility.m
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#import "UIView+Visibility.h"
 
NSLayoutConstraint *heightConstraint;
NSLayoutConstraint *widthConstraint;
 
@implementation UIView (Visibility)
 
- (void) setVisibility: (ViewVisibility) visibility{
    switch (visibility){
        case VISIBILITY_GONE:
            [self setNullSize];
            [self setHidden:YES];
            break;
        case VISIBILITY_INVISIBLE:
            [self setNormalSize];
            [self setHidden:YES];
            break;
        case VISIBILITY_VISIBLE:
            [self setNormalSize];
            [self setHidden:NO];
        }
}
 
- (void) setNullSize{
    heightConstraint = [NSLayoutConstraint constraintWithItem:self
                                                          attribute:NSLayoutAttributeHeight
                                                          relatedBy:NSLayoutRelationEqual
                                                             toItem:self
                                                          attribute:NSLayoutAttributeHeight
                                                         multiplier:0
                                                           constant:0];
    widthConstraint = [NSLayoutConstraint constraintWithItem:self
                                                                        attribute:NSLayoutAttributeWidth
                                                                        relatedBy:NSLayoutRelationEqual
                                                                           toItem:self
                                                                        attribute:NSLayoutAttributeWidth
                                                                       multiplier:0
                                                                         constant:0];
    [self addConstraint:heightConstraint];
    [self addConstraint:widthConstraint];
}
 
- (void) setNormalSize{
    [self removeConstraint:heightConstraint];
    [self removeConstraint:widthConstraint];
}
 
@end


Используется так
Objective-C
1
[view setVisibility:VISIBILITY_GONE];
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2015, 16:01
Ответы с готовыми решениями:

Как спрятать UIPopoverView для результатов поиска в UISearchBar
Был созан UISearchBar . Когда я нажимаю на него и начинаю вводить текст...

Передача параметра во вьюшку
Всем привет. Нужно из БД выводить запись. Запрос примерно такой. Позже...

Как сделать ссылку в письме на вьюшку?
Необходимо сделать ежедневный отчёт руководителю, в котором будет ссылка на...

Как правильно передать изображение с контроллера во вьюшку?
Помогите пожалуйста новичку: делаю приложение для просмотра погоды , беру ее с...

Как создать вьюшку , получив условия выборки из документа ?
У меня есть настроечные документы, в которых содержится ряд параметров...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2015, 16:01

Как создать вьюшку состоящую из документов в которых в поле отправлени
У меня на ум пришло использовать @IsNumber, делаю так SELECT (Form=&quot;f_plan&quot; &amp;...

Как сделать вьюшку, чтобы она была поверх любых приложений?
Например, как это сделано в ГеймХацкере. Нигде не могу нарыть. Говорят про...

Передача поля в контроллер из вьюшки без пападания поля во вьюшку
Здравствуйте. Имеется контроллер: public class TestController { ...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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