Главная » iPhone » Слайдеры iPhone

0

Слайдеры (slider controls) предоставляют область, в которой пользователь может выбирать с помощью визуальной полосы прокрутки, и могут настраиваться для удовлетворения широкого спектра потребностей. Вы можете задать диапазоны значений бегунка, добавить на концы изображения, а также сделать различные другие настройки внешнего вида. Бегунок идеально подходит для представления вариантов выбора с широким диапазоном численных значений, например, настройка уровня громкости, элементы управления чувствительностью и даже элементы управления, требующие тонкой регулировки. Apple просто обязана достаточно хорошо определить слайдеры, чтобы перенести их в iPhone, поскольку они широко распространены в настольных системах.

Создание элемента управления

Слайдер является стандартным объектом uicontrol и создается точно так же. как и сегментированный или переключающий элементы управления. На самом деле переключающий элемент управления, рассмотренный в предыдущем разделе, порожден от слайдеры несмотря на то, что последний является более сложным:

UlSliderControl *sliderControl = [ [ UlSliderControl alloc ] initWithFrame:CGRectMake{170.Of, 5.Of, 120.Of, 30.Of)];

Диапазон значений такого элемента управления должен задаваться при создании. поэтому вы знаете, какие данные ожидать при возврате. Если вы не укажете диапазона по умолчанию, то будут использованы значения между 0,0 и 1,0:

[ sliderControl setMinValue: 0.0 ]; [ sliderControl setMaxValue: 100.0 ];

В этот же момент можно задать и значения для полосы прокрутки:

[ sliderControl setValue: 50.0 ];

Слайдер может отображать изображения на любом своем конце. Это можно задать таким же способом, как и в сегментированном элементе управления. Изображения должны быть скопированы в программную папку приложения, как было рассказано в главе 2. Использование изображений приводит к увеличению длины полосы прокрутки, поэтому убедитесь в том, что при вызове initWithFrame вы увеличили размер элемента управления в соответствии с размерами изображений:

[ sliderControl setMinValuelmage:

[ UIImage applicationlmageNamed:@"min.png" ]

];

[ sliderControl setMaxValueImage:

t UIImage applicationlmageNamed: @"max.png" ]

];

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

setShowValue:

[ sliderControl setShowValue: YES ];

Отображение элемента управления

Как и все стандартные объекты uiview данный элемент управления может быть отображен путем добавления его в качестве подвида к ячейке таблицы, панели навигации или другому подходящему объекту:

tableCell addSubview: sliderControl ];

Считывание элемента управления

лайдер считывает значение с плавающей запятой в пределах диапазона, казанного вами в момент создания данного элемента управления. Само зна- 1ение можно запросить с помощью метода value: •.oat sliderValue * [ sliderControl value ];

>льшинство приложений считывает значения слайдера только тогда, когда г >льзователь уходит со страницы, например, как в случае с таблицами предстепий.

гобы считать значение такого элемента управления в момент его измене- ? ля. нужно перехватить событие mouseDown или событие mouseup. Чтобы по дменить эти методы, унаследуйте uisiiderControl, используя следующий аблон:

.terface MySliderControl : UisiiderControl {

}

-   (void)mouseUp:(struct ____ GSEvent *)event;

@end

[ super mouseUp: event ] ;

@implementation MySliderControl

-   (void)mouseUp:(struct _ _GSEvent *)event { float x = [ self value ];

/* Здесь что-нибудь сделайте */

}

@end

Для дальнейшего изучения

?          В следующем разделе прочитайте, как используются элементы управления в таблицах предпочтений.

?          Попробуйте придумать различные типы классов вида, где может пригодиться прикрепление элементов управления.

?          Проверьте наличие UlSegmentedControl. h, UlSwitchControl.h и UlSliderControl.h в папке include вашего пакета инструментов. Вы обнаружите их в папке /toolchain/sys/usr/include/UIK.it.

Источник: Здзиарски Дж. iPhone. Разработка приложений с открытым кодом: Пер„с англ. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2009. — 368 е.: ил.

По теме:

  • Комментарии