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

Objective-C

Войти
Регистрация
Восстановить пароль
 
Korefey
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 11
#1

Создание UIView внутри UIScrollView программно - Objective-C

07.01.2015, 13:41. Просмотров 895. Ответов 2
Метки нет (Все метки)

Ув. форумчане - нужна помощь.
Как работать с интерфейс билдером я разобрался - теперь есть задача сделать интерфейс из кода.
Сейчас стопорнулся на небольшой задаче.
Нужно реализовать такую иерархию
---- UIView
------ UIScrollView
--------UIView

Основное требование - чтобы все элементы растягивались на весь экран.
Проверяю полученное изображение на iPad (10 дюймовый).
По этому коду последняя UIView тянется не полностью по вертикали, а при повороте планшета не тянется и по горизонтали.

Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    self.view.backgroundColor = [UIColor greenColor];
    
    UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0,
                                                                          [[UIScreen mainScreen] applicationFrame].size.width,
                                                                          [[UIScreen mainScreen] applicationFrame].size.height)];
    scroll.contentSize = self.view.bounds.size;
    scroll.pagingEnabled = YES;
 
    UIView *contentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0,
                                                                       [[UIScreen mainScreen] applicationFrame].size.width,
                                                                       [[UIScreen mainScreen] applicationFrame].size.height)];
        
    contentView.backgroundColor = [UIColor purpleColor];
    [scroll addSubview:contentView];
 
    [self.view addSubview:scroll];
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2015, 13:41     Создание UIView внутри UIScrollView программно
Посмотрите здесь:
Программное управление размерами UIView Objective-C
Добавить два UITextView в UIView программно Swift
Рекурсивное создание UIView
UIScrollView
UIScrollView. Не отображаются данные
MVC Razor: как программно в представлении влиять на атрибуты внутри тегов? C# MVC
Как сделать сдвиг контента в UIScrollView при вводе данных в TextField? Swift
UIView с PageController
UIBezierPath vs UIView
Анимация UIView
Прижать UIView к низу
Constraints и размер UIView

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vitalik_a
4 / 4 / 1
Регистрация: 11.09.2014
Сообщений: 81
07.01.2015, 17:02     Создание UIView внутри UIScrollView программно #2
так само по себе и не будет тянуться
этот код выполняется один раз, при повороте надо пересчитать размеры
Korefey
0 / 0 / 0
Регистрация: 03.03.2012
Сообщений: 11
07.01.2015, 17:55  [ТС]     Создание UIView внутри UIScrollView программно #3
Сейчас использую viewWillLayoutSubviews в котором пересчитываю размеры экрана, после чего задаю новый размер и выполняю [self.view addSubview:self.contentView];
Вышло что-то такое:
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
В .h прописал:
@property (strong, nonatomic) IBOutlet UIView* contentView;
@property (strong, nonatomic) IBOutlet UIScrollView* scroller;
 
и в .m 
 
- (void)viewDidLoad
{
    [super viewDidLoad];
 
    self.view.backgroundColor = [UIColor greenColor];
      
    self.scroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0,
                                                                          self.view.frame.size.width,
                                                                          self.view.frame.size.height)];
    self.scroller.contentSize = self.view.bounds.size;
    self.scroller.pagingEnabled = YES;
 
    self.contentView = [[UIView alloc] initWithFrame:CGRectMake(0, 0,
                                                                        self.view.frame.size.width,
                                                                        self.view.frame.size.height)];
    
    self.contentView.backgroundColor = [UIColor purpleColor];
    [self.scroller addSubview:self.contentView];
 
    [self.view addSubview:self.scroller];
 
 
}
 
-(void)viewWillLayoutSubviews{
 
    self.contentView.frame = CGRectMake(0, 0,
                                   self.view.frame.size.width,
                                   self.view.frame.size.height);
    
    [self.view addSubview:self.contentView];
 
}
Yandex
Объявления
07.01.2015, 17:55     Создание UIView внутри UIScrollView программно
Ответ Создать тему
Опции темы

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