2009-10-13 2 views
1

alt text http://i34.tinypic.com/2wcm9dt.jpgКак создать горизонтальный прядильщик + таймер, как это?

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

ответ

1

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

+0

Добро пожаловать на SO. Запросите, пожалуйста, предоставьте код, подтверждающий ваш ответ. – Luv

0

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

При запуске отсчета создайте анимацию содержимого UIViewOffset 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

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

меня использовать https://lh3.googleusercontent.com/-WZEDMSmfrK0/TeeD93t8qYI/AAAAAAAAAKw/X9D6jRkLfLk/s800/MUKScale.png изображение в качестве шкалы в 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){ 

         } 
     ]; 
    } 

} 
+0

Похоже на хорошее решение, +1 для этого :) –

Смежные вопросы