2012-08-04 159 views
0

我有一個UIScrollView顯示和圖像,它滾動罰款和一切。我想要做的是在UIScrollView上添加一個UILabel來顯示圖像的標題。我設法做到了這一點,但是當我縮小UILabel時,不會使用滾動視圖進行縮放並保持在屏幕上的相同位置。我該如何做到這一點,使標籤與scrollView圖像縮放?這裏是我的代碼有:UILabel縮放與UIScrollView

[super viewDidLoad]; 
// Do any additional setup after loading the view. 

self.scrollView.delegate = self; 

//This just creates a image from a URL 
NSURL * photoURL = [FlickrFetcher urlForPhoto:self.photoCellName format:2]; 
NSData * photoData = [NSData dataWithContentsOfURL:photoURL]; 
self.imageView.image = [UIImage imageWithData:photoData]; 

//Setting up scroll View 
self.scrollView.contentSize= self.imageView.image.size; 
self.imageView.frame = CGRectMake(0, 0, self.imageView.image.size.width, self.imageView.image.size.height); 

NSLog(@"Name = %@", [self.photoCellName valueForKeyPath:@"description._content"]); 
//Assigning title to the label 
self.textLabel.text = [self.photoCellName objectForKey:@"title"]; 
+1

您是否設置了* UILabel *的* autoresizingMask *屬性? – voromax 2012-08-04 08:09:34

+0

不,我如何找到這個屬性? – 2012-08-04 18:05:44

回答

0

我猜您提供的UIImageView如將由UIScrollView通過實現在UIScrollViewDelegate的方法進行縮放視圖。

如果不是,我不確定你的縮放是如何工作的,然後。如果您要提供,則必須返回UIView,其中包含您的UILabelUIImageView的子視圖,您將不得不手動將轉換應用於UIView以調整其大小。

我想,類似的問題在this SO thread回答,並Dimme(即回答它的人)的源代碼提供了完整的解決方案,希望它幫助!

0

確保標籤是您的滾動視圖的子視圖。

+0

如果我在故事板中創建標籤,我該如何將它製作爲子視圖?我只是把它放到UIImage View? – 2012-08-04 18:02:03

+0

如果視圖被分層放置在另一個視圖下並且只有在您點擊小三角形時纔可見,則在左側邊欄上的故事板(文檔大綱)中。 ![這裏是圖片](http://iwarepro.com/subviews.png)。 按鈕和標籤是View的子視圖,但NavigationItem不是。 – 2012-08-05 07:20:32

0

你應該檢查,如果你設置你的UILabel的autoresizingMask財產

self.label.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight); 

您可以在IB做到這一點。然後,如果您將更改其超級視圖的框架,您的標籤的框架將在- (void)setNeedsLayout處理過程中更新

...並且不要阻止主線程在- (void)viewDidLoad中從url創建圖像!