我在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