iOS. Приемы программирования - страница 90
>@end
>@implementation ViewController
><# Оставшаяся часть вашего кода находится здесь #>
Далее напишем удобный метод, с помощью которого сможем создавать виды с заранее заданными центральной точкой и цветом фона. Этот метод мы используем для создания двух очень похожих видов с разными центральными точками и окрашенных в разные фоновые цвета:
>– (UIView *) newViewWithCenter:(CGPoint)paramCenter
>backgroundColor:(UIColor *)paramBackgroundColor{
>UIView *newView =
>[[UIView alloc] initWithFrame:
>CGRectMake(0.0f, 0.0f, 50.0f, 50.0f)];
>newView.backgroundColor = paramBackgroundColor;
>newView.center = paramCenter;
>return newView;
>}
Теперь, как только основной вид отобразится на экране, создадим два этих вида и также выведем их на дисплей:
>UIView *topView = [self newViewWithCenter: CGPointMake(100.0f, 0.0f)
>backgroundColor: [UIColor greenColor]];
>UIView *bottomView = [self newViewWithCenter: CGPointMake(100.0f, 50.0f)
>backgroundColor: [UIColor redColor]];
>[self.view addSubview: topView];
>[self.view addSubview: bottomView];
>Далее добавим к видам поведение тяготения – этому мы научились в разделе 2.1:
>self.animator = [[UIDynamicAnimator alloc]
>initWithReferenceView: self.view];
>/* Создаем тяготение */
>UIGravityBehavior *gravity = [[UIGravityBehavior alloc]
>initWithItems:@[topView, bottomView]];
>[self.animator addBehavior: gravity];
Мы не хотим, чтобы виды выпадали за пределы экрана, достигнув его дна. Поэтому воспользуемся знаниями, приобретенными в разделе 2.2, и зададим для аниматора нижнюю границу, а также запрограммируем поведение столкновения:
Конец ознакомительного фрагмента.
Если вам понравилась книга, поддержите автора, купив полную версию по ссылке ниже.
Продолжить чтение