>@end
>@implementation ViewController
>/*
>Этот метод возвращает изображение переменного размера для области слайдера, содержащей минимальные значения
>*/
>– (UIImage *) minimumTrackImage{
>UIImage *result = [UIImage imageNamed:@"MinimumTrack"];
>UIEdgeInsets edgeInsets;
>edgeInsets.left = 4.0f;
>edgeInsets.top = 0.0f;
>edgeInsets.right = 0.0f;
>edgeInsets.bottom = 0.0f;
>result = [result resizableImageWithCapInsets: edgeInsets];
>return result;
>}
>/*
>Аналогично предыдущему методу этот возвращает изображение переменного размера для области слайдера, содержащей максимальные значения
>*/
>– (UIImage *) maximumTrackImage{
>UIImage *result = [UIImage imageNamed:@"MaximumTrack"];
>UIEdgeInsets edgeInsets;
>edgeInsets.left = 0.0f;
>edgeInsets.top = 0.0f;
>edgeInsets.right = 3.0f;
>edgeInsets.bottom = 0.0f;
>result = [result resizableImageWithCapInsets: edgeInsets];
>return result;
>}
>– (void)viewDidLoad{
>[super viewDidLoad];
>/* Создаем слайдер */
>self.slider = [[UISlider alloc] initWithFrame: CGRectMake(0.0f,
>0.0f,
>218.0f,
>23.0f)];
>self.slider.value = 0.5;
>self.slider.minimumValue = 0.0f;
>self.slider.maximumValue = 1.0f;
>self.slider.center = self.view.center;
>[self.view addSubview: self.slider];
>/* Изменяем изображение для минимального значения */
>[self.slider setMinimumValueImage: [UIImage imageNamed:@"MinimumValue"]];
>/* Изменяем изображение для области минимальных значений */
>[self.slider setMinimumTrackImage: [self minimumTrackImage]
>forState: UIControlStateNormal];
>/* Изменяем изображение ползунка для обоих возможных состояний ползунка: когда
>пользователь его касается и когда не касается */
>[self.slider setThumbImage: [UIImage imageNamed:@"Thumb"]
>forState: UIControlStateNormal];
>[self.slider setThumbImage: [UIImage imageNamed:@"Thumb"]
>forState: UIControlStateHighlighted];
>/* Изменяем изображение для области максимальных значений */
>[self.slider setMaximumTrackImage: [self maximumTrackImage]
>forState: UIControlStateNormal];
>/* Изменяем изображение, соответствующее максимальному значению */
>[self.slider setMaximumValueImage: [UIImage imageNamed:@"MaximumValue"]];
>}
Ползунок в iOS 7 выглядит совершенно иначе, нежели в более ранних версиях. Как вы догадываетесь, этот элемент стал очень прямолинейным и тонким на вид. Высота максимальной и минимальной отметок на шкале в iOS 7 составляет всего 1 точку, поэтому задавать для этих элементов специальные изображения абсолютно бесполезно – скорее всего, получится некрасиво. Поэтому для оформления этих элементов UISlider в iOS 7 рекомендуется оперировать лишь оттенками, но не присваивать элементу никаких изображений.
См. также
Раздел 1.6.
1.8. Группирование компактных параметров с помощью UISegmentedControl
Постановка задачи
Требуется предложить пользователям на выбор несколько параметров, из которых они могут выбирать. Пользовательский интерфейс должен оставаться компактным, простым и легким для понимания.
Решение
Используйте класс UISegmentedControl. Пример работы с этим классом показан на рис. 1.22.
Рис. 1.22. Сегментированный элемент управления, в котором отображаются четыре параметра
Обсуждение
Сегментированный элемент управления – это сущность, позволяющая отображать в компактном пользовательском интерфейсе наборы параметров, из которых пользователь может выбирать нужный. Чтобы отобразить сегментированный элемент управления, создайте экземпляр класса UISegmentedControl. Начинаем работу с файла реализации (.m) нашего контроллера вида:
>#import "ViewController.h"
>@interface ViewController ()
>@property (nonatomic, strong) UISegmentedControl *mySegmentedControl;
>@end
>@implementation ViewController