Я получил следующее, используя UIScrollView и включенный пейджинг. Пейджинг UIScrollView с анимацией
Я хочу, чтобы элемент центра прокрутки отображался немного больше, чем другие элементы. Необходимо увеличить/уменьшить шрифт текстовой метки, поскольку прокрутка просматривается в зависимости от ее местоположения.
Я пробовал использовать трансформацию, но не повезло.
код для добавления лейбла:
array = [[NSMutableArray alloc] init];
for(int i=0;i<10;i++){
UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(x, 0, 150, 50)];
label.text = [NSString stringWithFormat:@"ID - %d",i];
label.textAlignment = UITextAlignmentCenter;
x +=150;
[self.scrollView addSubview:label];
[array addObject:label];
}
[self.scrollView setContentSize:CGSizeMake(x, 50)];
Animation, которые я провел в ScollViewDidScroll
float position = label.center.x - scrollView.contentOffset.x;
float offset = 2.0 - (fabs(scrollView.center.x - position) * 1.0)/scrollView.center.x;
label.transform = CGAffineTransformIdentity;
label.transform = CGAffineTransformScale(label.transform,offset, offset);
КОД: чего я достиг до сих пор:
https://www.dropbox.com/s/h2q4qvg3n4fi34f/ScrollViewPagingPeeking.zip?dl=0
Выполнение аффинное преобразование является способ сделать это. Примените его к метке на основе позиции ячейки, которую вы обновляете преобразованием в scrollViewDidScroll: в вашем UIScrollViewDelegate. В чем была проблема, с которой вы столкнулись? – TheBasicMind
Используется для анимации от больших до маленьких, а не от маленьких до больших. Он появился как поп-музыка. Я отредактировал ответ. –