>@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