Пользовательский внешний вид UIPickerView;

Я хочу UIPickerView в следующем дизайне;

http://dl.dropbox.com/u/53051470/Screen%20shot%202012-04-18%20at%2012.02.36%20PM.png (извините, как новый пользователь, не могу вставить сюда изображение)< /эм>

Я также читал другие вопросы по той же теме и пытаюсь реализовать метод pickerView:viewForRow:forComponent:reusingView: , но не получаю фактических результатов;

Требования: выбранное значение должно отображаться в зеленой полосе с изображением галочки и белым цветом; Более того, когда пользователь начнет прокручивать средство выбора, любое значение, которое входит в зеленую полосу, должно стать зеленым, а любое значение, выходящее за пределы зеленой полосы, должно стать черным;

Любое предложение?

С уважением;


person Ans    schedule 18.04.2012    source источник


Ответы (2)


вы должны использовать метод

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view

и решите, какая строка будет выделена

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{   
        // i use a UILabel instead of your **custom UIView** , you may add a tick in you custom view

        UILabel *testRow = view?(UILabel *)view:[[[UILabel alloc] initWithFrame:CGRectMake(0,0, 140, 40)] autorelease];
        testRow.font = [UIFont fontWithName:[testArray objectAtIndex:row] size:16];
        testRow.text = [fontsArray objectAtIndex:row];
        testRow.backgroundColor = [UIColor clearColor];

        if ( row == selectedRow )
        {
            testRow.backgroundColor = [UIColor greenColor];
        }

        return testRow;
}

не забудьте установить для showSelectionIndicator значение NO

pickView.showsSelectionIndicator = NO;
person adali    schedule 18.04.2012

Поведение с множественным выбором UIPickerView без добавления других представлений перед окном выбора, используя: https://github.com/alexleutgoeb/ALPickerView

Улучшения приветствуются!

person Hardik Patel    schedule 18.04.2012
comment
Я думаю, что я не говорю о поведении UIPickerView с множественным выбором; Если ваша упомянутая библиотека может создать сборщик с требуемым дизайном, опубликуйте оттуда пример кода; - person Ans; 19.04.2012
comment
вы загружаете код по этой ссылке в левом верхнем углу этой библиотеки, доступен zip-файл. - person Hardik Patel; 19.04.2012