Вход/Регистрация
iOS. Приемы программирования
вернуться

Нахавандипур Вандад

Шрифт:

[self createGrayViews];

[self createButtons];

[self applyConstraintsToTopGrayView];

[self applyConstraintsToButtonOnTopGrayView];

[self applyConstraintsToBottomGrayView];

[self applyConstraintsToButtonOnBottomGrayView];

}

Мы просто распределили стоящие перед нами задачи по разным методам, которые вскоре реализуем. Продолжим — определим виды в файле реализации контроллера вида как расширение интерфейса:

#import «ViewController.h»

@interface ViewController 

@property (nonatomic, strong) UIView *topGrayView;

@property (nonatomic, strong) UIButton *topButton;

@property (nonatomic, strong) UIView *bottomGrayView;

@property (nonatomic, strong) UIButton *bottomButton;

@end

@implementation ViewController

<# Оставшаяся часть вашего кода находится здесь #>

Далее следует реализовать метод createGrayViews. Как понятно из названия, этот метод отвечает за создание серых видов:

— (UIView *) newGrayView{

UIView *result = [[UIView alloc] init];

result.backgroundColor = [UIColor lightGrayColor];

result.translatesAutoresizingMaskIntoConstraints = NO;

[self.view addSubview: result];

return result;

}

— (void) createGrayViews{

self.topGrayView = [self newGrayView];

self.bottomGrayView = [self newGrayView];

}

Пока несложно? Оба серых вида добавляются к контроллеру нашего вида. Отлично. Что дальше? Теперь нужно реализовать метод createButtons, поскольку он вызывается в методе viewDidLoad контроллера вида. Этот метод должен просто создать кнопки и поместить каждую в ассоциированном с ней сером виде:

— (UIButton *) newButtonPlacedOnView:(UIView *)paramView{

UIButton *result = [UIButton buttonWithType: UIButtonTypeSystem];

result.translatesAutoresizingMaskIntoConstraints = NO;

[result setTitle:@"Button" forState: UIControlStateNormal];

[paramView addSubview: result];

return result;

}

— (void) createButtons{

self.topButton = [self newButtonPlacedOnView: self.topGrayView];

self.bottomButton = [self newButtonPlacedOnView: self.bottomGrayView];

}

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

• верхний вид должен находиться на стандартном расстоянии от вида с контроллером по левому и верхнему краю;

• высота этого серого вида должна составлять 100 точек.

— (void) applyConstraintsToTopGrayView{

NSDictionary *views =

NSDictionaryOfVariableBindings(_topGrayView);

NSMutableArray *constraints = [[NSMutableArray alloc] init];

NSString *const kHConstraint = @"H:|-[_topGrayView]-|";

NSString *const kVConstraint = @"V:|-[_topGrayView(==100)]";

/* Горизонтальные ограничения */

[constraints addObjectsFromArray:

[NSLayoutConstraint constraintsWithVisualFormat: kHConstraint

options:0

metrics: nil

views: views]

];

/* Вертикальные ограничения */

[constraints addObjectsFromArray:

[NSLayoutConstraint constraintsWithVisualFormat: kVConstraint

  • Читать дальше
  • 1
  • ...
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: