Как создать горизонтальный спиннер + таймер, как это?

альтернативный текст

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

13.10.2009 10:19:02
3 ОТВЕТА

Использовать объект просмотра галереи. Просто заполните его изображениями, которые вы хотите прокрутить по горизонтали. Это было бы хорошим приближением к тому, чего вы хотите достичь.

1
24.06.2010 15:08:05
Добро пожаловать в ТАК. Просим вас предоставить код, подтверждающий ваш ответ.
Luv 19.12.2012 06:49:16

Вы можете использовать Never Ended scrollView ( например, это у вас есть, как выключение подкачки). Теперь вы достигнете масштаба и, используя номер страницы или координаты прокрутки, сможете найти показание масштаба, которое будет показано выше.

На старте создайте анимацию UIView contentOffset CGPointMake (10, 100).

например:

[UIView animateWithDuration: 1.5 /* Give Duration which was also on top */
                 animations: ^{
                     [scrollView setContentOffset:CGPointMake(0,0) animated:NO];
                 }completion: ^(BOOL finished){          }];
0
1.06.2011 08:13:03

Смотрите мое видео http://www.youtube.com/watch?v=4acFshAlGJ8

Я использую изображение https://lh3.googleusercontent.com/-WZEDMSmfrK0/TeeD93t8qYI/AAAAAAAAAKw/X9D6jRkLfLk/s800/MUKScale.png как Scale в scrollView. Это неполный пример, чтобы показать, насколько это возможно.

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

   - (void)viewDidLoad {
    [super viewDidLoad];

    [self.view addSubview:scrollView];

    UIImageView *backImgg = [[UIImageView alloc] initWithFrame:CGRectMake(x,y,886,15)];
    [backImgg setImage: [UIImage imageNamed:@"MUKScale.png"]];//Image in the link above
    [scrollView addSubview:backImgg];
    [backImgg release]; 

    [scrollView setContentSize:CGSizeMake(886,15)];
    return;
}

NSTimer *timer ;
float timeSet =0 ;
-(IBAction) btnPressed
{
timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(showTimeInLbl) userInfo:nil repeats:YES];
}

-(void)showTimeInLbl
{
    CGRect visibleRect;
    visibleRect.origin = scrollView.contentOffset;
    visibleRect.size = scrollView.contentSize;
    NSLog( @"Visible rect: %@", NSStringFromCGRect(visibleRect) );


    float time = visibleRect.origin.x / 8;
    timeSet = time;
    lblTime.text = [NSString stringWithFormat:@"%f",time];

    [UIView animateWithDuration: .1
                     animations: ^{
                         [scrollView setContentOffset:CGPointMake(visibleRect.origin.x - 8,0) animated:NO];
                     }completion: ^(BOOL finished){

                     }
     ];


    timeSet-=0.1;

    lblTime.text = [NSString stringWithFormat:@"%f",timeSet];

    if(timeSet<=0)
    {
        [timer invalidate];
        lblTime.text = @"0";

        [UIView animateWithDuration: .1
                         animations: ^{
                             [scrollView setContentOffset:CGPointMake(0,0) animated:NO];
                         }completion: ^(BOOL finished){

                         }
         ];
    }

}
1
2.06.2011 13:04:30