我在UIScrollView中添加了一些标签,当我滚动时,中间标签的字体大小会变大。之前的中间标签字体大小缩小。这种变化正在逐渐发生。如下所示。标签1向左移动缩小,标签2向中间移动变大。 UIScroll视图中的所有标签。如何在滚动时缩放UIScrollView
我试了一下,像滚动的时候我试图变焦滚动页面,看似复杂,比我还以为......
任何人有好主意吗?谢谢!
我在UIScrollView中添加了一些标签,当我滚动时,中间标签的字体大小会变大。之前的中间标签字体大小缩小。这种变化正在逐渐发生。如下所示。标签1向左移动缩小,标签2向中间移动变大。 UIScroll视图中的所有标签。如何在滚动时缩放UIScrollView
我试了一下,像滚动的时候我试图变焦滚动页面,看似复杂,比我还以为......
任何人有好主意吗?谢谢!
真的很简单。只要坚持一个UIScrollViewDelegate
到滚动视图,做这样的事情..
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
for (int i = 0; i < [scrollView.subviews count]; i++) {
UIView *v = [scrollView.subviews objectAtIndex:i];
float position = v.center.x - scrollView.contentOffset.x;
float offset = 2.0 - (abs(scrollView.center.x - position) * 1.0)/scrollView.center.x;
v.transform = CGAffineTransformIdentity;
v.transform = CGAffineTransformScale(v.transform, offset, offset);
}
}
但是,如果你不被打动仿射变换,你仍然可以使用offset
比例缩放正确,而且的UILabel设置为adjustsFontSizeToFitWidth
...你完成了!
只要确保有足够的空间!否则它可能非常容易失控。
假设:
它可以用CoreAnimation完成。你必须保持主标签的索引(那个在中间),并且在滚动完成后或者当滚动开始时(在UIScrollViewDelegate中使用一些适当的方法)并且通过动画缩小侧标签。
只是当字体的大小(与一个动画块),当它是中间的一个更大,当它不是。
您可以使用向UILabel添加一个类别,并将其设置为true/false。
该解决方案完美解决了我的问题!谢谢!!! @govi – 2012-03-09 06:43:44