Я использую следующий код для создания UIScrollView
:
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
scroll.pagingEnabled = YES;
NSInteger numberOfViews = 3;
for (int i = 0; i < numberOfViews; i++) {
CGFloat yOrigin = i * self.view.frame.size.width;
UIView *awesomeView = [[UIView alloc] initWithFrame:CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)];
awesomeView.backgroundColor = [UIColor colorWithRed:0.5/i green:0.5 blue:0.5 alpha:1];
[scroll addSubview:awesomeView];
}
scroll.contentSize = CGSizeMake(self.view.frame.size.width * numberOfViews, self.view.frame.size.height);
[self.view addSubview:scroll];
Вопрос: как мне реализовать NSTimer
, чтобы менять страницу каждые 4 секунды?
[NSTimer scheduledTimerWithTimeInterval:4.0f
target:self
selector:@selector(updateCounter:)
userInfo:nil
repeats:YES];
Я изо всех сил пытаюсь написать метод updateCounter. Пожалуйста, помогите
- (void)updateCounter:(NSTimer *)theTimer {
NSInteger numberOfViews = 3;
int i = 0; i++;
if (i < numberOfViews) {
yOrigin = i * self.view.frame.size.width;
[scroll scrollRectToVisible:CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height) animated:YES];
}
return; }
ОК, поэтому с этим кодом NSTimer
изменяется с просмотр 1 на просмотр 2 , но останавливается, не меняется через следующие 4 секунды до вид 3 . То, что я хочу сделать, это изменить с просмотр 1 на просмотр 2 через 4 секунды, затем на просмотр 3 , через 4 секунды и т. Д. , Я хочу иметь столько просмотров, сколько мне нужно.