Buttin внутри подборщика в iphone - PullRequest
2 голосов
/ 23 июня 2011

Я хочу разработать приложение, в котором я хочу сделать сборщик в горизонтальном направлении. Или настроить массив таким образом.

Как показано на рисунке ниже: -

enter image description here

Я получил такой вид. Он отлично работает, это то, что я хочу функционально. Но как я могу сохранить такое изображение (оранжевый указатель на выбранном номере и округленное прямоугольное изображение под этим оранжевым указателем)).http://isujith.wordpress.com/2009/03/17/horizontal-uipickerview/ Пожалуйста, объясните мне, как я могу это сделать.

Решение вышеприведенного вопроса: -

self.view.backgroundColor = [UIColor blackColor];
    CGFloat width = 200.0f;
    CGFloat x = (self.view.frame.size.width - width) / 2.0f;
    CGRect tmpFrame = CGRectMake(x, 150.0f, width, 40.0f);
    pickerView = [[V8HorizontalPickerView alloc] initWithFrame:tmpFrame];
    pickerView.backgroundColor   = [UIColor darkGrayColor];
    pickerView.selectedTextColor = [UIColor whiteColor];
    pickerView.textColor   = [UIColor grayColor];
    pickerView.delegate    = self;
    pickerView.dataSource  = self;
    pickerView.elementFont = [UIFont boldSystemFontOfSize:14.0f];
    pickerView.selectionPoint = CGPointMake(60, 0);

    // add carat or other view to indicate selected element
    UIImageView *indicator = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"indicator"]];
    pickerView.selectionIndicatorView = indicator;
//  pickerView.indicatorPosition = V8HorizontalPickerIndicatorTop; // specify indicator's location
    [indicator release];

    // add gradient images to left and right of view if desired
//  UIImageView *leftFade = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"left_fade"]];
//  pickerView.leftEdgeView = leftFade;
//  [leftFade release];
//
//  UIImageView *rightFade = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right_fade"]];
//  pickerView.rightEdgeView = rightFade;
//  [rightFade release];

    [self.view addSubview:pickerView];

    self.nextButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    tmpFrame = CGRectMake(x, 225.0f, width, 50.0f);
    nextButton.frame = tmpFrame;
    [nextButton addTarget:self
                   action:@selector(nextButtonClicked:)
         forControlEvents:UIControlEventTouchUpInside];
    [nextButton setTitle:@"Center Element 0" forState:UIControlStateNormal];
    nextButton.titleLabel.textColor = [UIColor blackColor];
    [self.view addSubview:nextButton];

    self.reloadButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    tmpFrame = CGRectMake(x, 300, width, 50.0f);
    reloadButton.frame = tmpFrame;
    [reloadButton addTarget:self
                     action:@selector(reloadButtonClicked:)
           forControlEvents:UIControlEventTouchUpInside];
    [reloadButton setTitle:@"Reload Data" forState:UIControlStateNormal];
    [self.view addSubview:reloadButton];

    tmpFrame = CGRectMake(x, 375, width, 50.0f);
    infoLabel = [[UILabel alloc] initWithFrame:tmpFrame];
    infoLabel.backgroundColor = [UIColor blackColor];
    infoLabel.textColor = [UIColor whiteColor];
    infoLabel.textAlignment = UITextAlignmentCenter;
    [self.view addSubview:infoLabel];

это будет работать со мной должным образом и даст этот тип выбора: - enter image description here

1 Ответ

2 голосов
/ 23 июня 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...