2012-12-13 98 views
1

我在最後一個小時試圖讓我的scrollView滾動,但無濟於事。在viewDidLoad我有在iOS6中,XCode 4.5,UIScrollView不滾動,儘管contentSize被設置爲

NSURL *url = [FlickrFetcher urlForPhoto:self.photoData format:FlickrPhotoFormatLarge]; 
    NSData *imageRawData = [NSData dataWithContentsOfURL:url]; 
    UIImage *image = [UIImage imageWithData:imageRawData]; 

    self.scrollView.delegate = self; 
    self.imageView.image = image; 
    self.scrollView.contentSize = image.size; 
    self.imageView.frame = CGRectMake(0, 0, image.size.width, image.size.height); 

我有imageView視圖模式設置爲左上角。

我的UIScrollView是通過選擇我的imageView,然後編輯 - >嵌入 - > ScrollView創建的。

其他我可以檢查/嘗試嗎?

+0

使滾動視圖的幀大小爲圖像大小,並使contentSize更高一些。 –

回答

3

如果您已經通過筆尖創建了滾動視圖,並且該筆尖具有自動佈局功能,那麼它將不會讓您滾動。

So go utility window of nib. 
Select First tab of utility window. 
Remove autolayout and run the application 
+0

我將不得不找出爲什麼發生這種情況 –

+0

這聽起來像它可能是...我試圖找到實用程序窗口,但沒有運氣。 FWIW,我正在使用最新版本的xcode,並通過故事板創建了我的滾動視圖。 – Bill

+0

Autolayout是問題。起初我不明白他的描述。基本上,選擇你的故事板,然後選擇文件檢查器(第一個選項卡)並取消選中「使用Autolayout」 – Bill

0

清單:

  1. IS影像真的下載? (所以它actaullly有大小?)
  2. scrollview出口設置?
  3. imageView作爲scrollView的子視圖添加了嗎?

Btw。不知道這只是示例代碼還是真實的,但如果它是真實的,那麼同步下載數據是非常糟糕的想法,甚至更糟的想法是在viewDidLoad中執行它。

+0

全是。圖像將顯示(只是不滾動)。 (並同意在viewDidLoad中下載,我只是通過斯坦福大學的課程,在下一個作業中它變成了多線程)。 – Bill

0

我想這是因爲你有圖像視圖嵌入滾動視圖,所以它的框架正在成爲imageview的框架。當幀大小和內容大小相等時,滾動視圖不會滾動。嘗試將scrollview的框架務實地設置爲某個固定的矩形。 ScrollView的contentSize的高度和寬度應該大於scrollview的框架的高度和寬度。給它一些滾動空間:)在你的情況下,他們都是平等的,我猜。

+0

啊,我認爲這可能是。我試着登錄和看起來他們的大小不同: – Bill

+0

2012-12-14 10:33:35.909 SimpleScrollView [3439:c07] scrollView contentSize:3264.000000 x 2448.000000 2012-12-14 10:33:35.909 SimpleScrollView [3439 :c07] scrollView框架:320.000000 x 460.000000 – Bill