2011-03-13 68 views
5

我需要一個UIScrollview在我的應用程序中顯示一些靜態內容。我已採取UIScrollViewXIB並開始添加一些UIImageView和textView到它。但是在scrollView結束後,視圖已經不再適用了。我需要更多空間,以便我可以在下面添加更多視圖。有什麼辦法可以做到這一點(XIB而不是通過代碼)。通過XIB在UIScrollView中設置靜態內容

回答

5

是的,它是你可以定義UIScrollView的高度僅僅例如height:1800 現在你會得到更大的UIScrollView那麼你的觀點,你可以把你的對象,滾動型的,如果它充滿只是把它向上和拖放等完成後的項目只需將滾動視圖拖動到其位置即可。 這是簡單的:) 希望它可以幫助 問你是否有任何其他疑問

+0

@ Csabi:嗨,兄弟..我問這個問題之前試用過的方式,但他們不力的工作。我看到你的回覆後再次嘗試它,但仍然運氣不好..你能告訴我更多的請 – 2011-03-13 15:12:44

+1

它爲我工作Csabi。其實我犯了一個愚蠢的錯誤。但是現在當我運行該程序時,我無法滾動或縮放視圖...請問你能告訴我它的原因嗎? – 2011-03-13 15:39:06

+3

對於滾動,您需要設置scrollview的contentSize屬性(通常簡單地設置爲您在滾動視圖中顯示的UIView的.bounds.size的值)。對於縮放,您必須在某處實現UIScrollViewDelegate協議 - 可能是您的視圖控制器並提供了-viewForZoomingInScrollView :. – 2011-03-13 17:32:23

13

我掙扎了很多得到這個然後一個更優雅的方式通過Csabi描述的解決方案來完成。 這真的很簡單:

  1. 在你的XIB文件只需添加一個通用的觀點是不是你viewController.view的子視圖(即儘管這一觀點是在你的XIB文件,它是不是你的viewController的一部分)

  2. 然後選擇此視圖並使用尺寸檢查器設置適合您需要的寬度和高度。將所需的任何對象添加到此視圖。用IBOutlet將這個視圖連接到你的viewController。 (我們稱之爲IBOutlet UIView * myBigView)。

  3. 在您的viewController.view中拖動一個ScrollView並根據需要調整滾動視圖的大小。鉤住你的viewController。 (IBOutlet中的UIScrollView滾動視圖*)

  4. 現在是超級簡單:

    -(void) viewDidLoad{ 
        [super viewDidLoad];  
        self.scrollView.contentSize = self.myBigView.bounds.size; 
        [self.scrollView addSubview:self.myBigView]; 
    } 
    
+0

好的一個兄弟... +1 – 2011-12-29 06:39:32

+0

謝謝,這確實有幫助。 只是一個小的更正:addSubview不是addSubView。 [self.scrollView addSubview:self.myBigView]; – obb64 2012-05-02 14:51:36

+0

好回答Raunak。只有一個問題。自定義UIViews不允許在Storyboard中使用 – WaaleedKhan 2013-11-28 16:21:14