Чтение онлайн

на главную - закладки

Жанры

iOS. Приемы программирования

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

Шрифт:

Изображения, предоставляемые вами для областей максимальных и минимальных значений, должны при необходимости изменять размер. Подробнее о таких изображениях рассказано в разделе 17.5.

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

различные его компоненты:

#import «ViewController.h»

@interface ViewController 

@property (nonatomic, strong) UISlider *slider;

@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 

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

Воронцов. Перезагрузка. Книга 4

Тарасов Ник
4. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
6.00
рейтинг книги
Воронцов. Перезагрузка. Книга 4

Владычица озера

Сапковский Анджей
7. Ведьмак
Фантастика:
фэнтези
9.13
рейтинг книги
Владычица озера

Книгоедство. Выбранные места из книжной истории всех времен, планет и народов

Етоев Александр
Проза:
эссе
современная проза
5.00
рейтинг книги
Книгоедство. Выбранные места из книжной истории всех времен, планет и народов

На границе империй. Том 10. Часть 8

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 8

История Древнего мира: от истоков цивилизации до падения Рима

Бауэр Сьюзен Уайс
1. Историческая библиотека
Научно-образовательная:
история
6.00
рейтинг книги
История Древнего мира: от истоков цивилизации до падения Рима

Инквизитор и нимфа

Зонис Юлия
Фантастика:
фэнтези
6.00
рейтинг книги
Инквизитор и нимфа

Лишь одна музыка

Сет Викрам
1. Большой роман
Проза:
современная проза
историческая проза
5.00
рейтинг книги
Лишь одна музыка

Рассвет русского царства

Грехов Тимофей
1. Новая Русь
Документальная литература:
историческая литература
5.00
рейтинг книги
Рассвет русского царства

Теория культуры

Коллектив авторов
Научно-образовательная:
культурология
5.00
рейтинг книги
Теория культуры

Песчаный дьявол

Роллинс Джеймс
1. Отряд «Сигма»
Приключения:
прочие приключения
8.87
рейтинг книги
Песчаный дьявол

Реформы и реформаторы

Мережковский Дмитрий Сергеевич
Проза:
историческая проза
5.00
рейтинг книги
Реформы и реформаторы

Молот Пограничья. Гексалогия

Пылаев Валерий
Молот Пограничья
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.25
рейтинг книги
Молот Пограничья. Гексалогия

Пограничная река

Каменистый Артем
1. Пограничная река
Фантастика:
научная фантастика
боевая фантастика
9.23
рейтинг книги
Пограничная река

Солнечный корт

Сакавич Нора
4. Все ради игры
Фантастика:
зарубежная фантастика
8.00
рейтинг книги
Солнечный корт