Название: iOS. Приемы программирования
Автор: Вандад Нахавандипур
Издательство: ""Издательство ""Питер""
Жанр: Программирование
Серия: Бестселлеры O’Reilly (Питер)
isbn: 978-5-496-01016-0
isbn:
Сделаем предыдущее приложение немного интереснее. Теперь нужно установить уровень яркости картинки в нашем виде с изображением (этот показатель также называется «альфа-уровень» или «альфа-значение») равным 0.50f (полупрозрачный) на момент, когда пользователь начинает прокрутку изображения, и вернуть этот уровень к значению 1.0f (непрозрачный) к моменту, когда прокрутка завершается. Сначала обеспечим соответствие протоколу UIScrollViewDelegate:
#import "ViewController.h"
@interface ViewController () <UIScrollViewDelegate>
@property (nonatomic, strong) UIScrollView *myScrollView;
@property (nonatomic, strong) UIImageView *myImageView;
@end
@implementation ViewController
Потом реализуем данную функциональность:
– (void)scrollViewDidScroll:(UIScrollView *)scrollView{
/* Вызывается, когда пользователь совершает прокрутку
или перетаскивание. */
self.myScrollView.alpha = 0.50f;
}
– (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
/* Вызывается только после прокрутки. */
self.myScrollView.alpha = 1.0f;
}
– (void)scrollViewDidEndDragging:(UIScrollView *)scrollView
willDecelerate:(BOOL)decelerate{
/* Гарантируем, что альфа-значение вернется к исходному,
даже если пользователь просто перетаскивает элементы. */
self.myScrollView.alpha = 1.0f;
}
– (void)viewDidLoad{
[super viewDidLoad];
UIImage *imageToLoad = [UIImage imageNamed:@"MacBookAir"];
self.myImageView = [[UIImageView alloc] initWithImage: imageToLoad];
self.myScrollView = [[UIScrollView alloc] initWithFrame: self.view.bounds];
[self.myScrollView addSubview: self.myImageView];
self.myScrollView.contentSize = self.myImageView.bounds.size;
self.myScrollView.delegate = self;
[self.view addSubview: self.myScrollView];
}
Как можно заметить, в прокручиваемых видах имеются индикаторы. Индикатор – это тонкая контрольная линия, которая отображается с краю прокручиваемого вида, когда его содержимое прокручивается или перемещается (рис. 1.63).
Индикаторы просто показывают пользователю, как вид расположен в настоящий момент относительно его содержимого (в верхней части, на полпути к низу и т. д.). Внешним видом индикаторов можно управлять, изменяя значение свойства indicatorStyle. Например, в следующем коде я делаю индикатор прокручиваемого вида белым:
СКАЧАТЬ