суббота, 22 августа 2015 г.

19. UIView

В этом уроке рассказывается о создании View и Subview.


    UIView *view1 = [[UIView alloc] initWithFrame:CGRectMake(100, 150, 200, 50)];
    view1.backgroundColor=[[UIColor redColor] colorWithAlphaComponent:0.8];

    [self.view addSubview:view1];

Так же рассказывается об автоматическом изменении размеров вью.
В маске описаны границы view которые изменяются (другие жестко привязаны)
  view2.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleBottomMargin;

Чтобы переместить вью на верхний уровень:

    [self.view bringSubviewToFront:view1];

Вот метод для поддержки всех видов поворота экрана:

-(UIInterfaceOrientationMask   ) supportedInterfaceOrientations{
    return UIInterfaceOrientationMaskAll;
}

Объясняются такие понятия как frame  и bounds.

Фрейм координаты задаются относительно главного окна.
Боундс это внутренние координаты view

Исходники тестового проекта урока 19.


Домашнее задание к уроку 19.

Ученик

1. В цикле создавайте квадратные UIView с черным фоном и расположите их в виде шахматной доски
2. доска должна иметь столько клеток, как и настоящая шахматная

Студент

3. Доска должна быть вписана в максимально возможный квадрат, т.е. либо бока, либо верх или низ должны касаться границ экрана
4. Применяя соответствующие маски сделайте так, чтобы когда устройство меняет ориентацию, то все клетки растягивались соответственно и ничего не вылетало за пределы экрана.

Мастер
5. При повороте устройства все черные клетки должны менять цвет :)
6.Сделайте так, чтобы доска при поворотах всегда строго находилась по центру

Супермен
8. Поставьте белые и красные шашки (квадратные вьюхи) так как они стоят на доске. Они должны быть сабвьюхами главной вьюхи (у них и у клеток один супервью)
9. После каждого переворота шашки должны быть перетасованы используя соответствующие методы иерархии UIView

Выполнены все пункты домашнего задания к уроку 19 (ученик, студент, мастер, супермен).


Проект с домашним заданием находится здесь.

Комментариев нет:

Отправить комментарий