2017-05-31 102 views
0

我禁用了所有的自動佈局,但它仍然不會滾動。我有很多UIButtons,它們都鏈接到Segue被點擊,所以它可以導致下一頁。我沒有添加任何代碼的UIScrollView,我不知道你是否做。下面是截圖和我有滾動視圖場景的代碼,UIScrollView不滾動Swift 3

@IBAction func derecourtButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 


@IBAction func myburghButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 


@IBAction func edmondsonButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 


@IBAction func healyButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 


@IBAction func bormansButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 


@IBAction func jackwaysButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 

@IBAction func horrackButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 


@IBAction func mchughButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 


@IBAction func youngButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 


@IBAction func mitchellButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 


@IBAction func testerButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 


@IBAction func parrButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 


@IBAction func holdenButton(_ sender: Any) { 

    self.performSegue(withIdentifier: "classtoperiod", sender: self) 

} 

這裏的main.storyboard的截圖:http://i.imgur.com/IPO3u0n.png

編輯:我還需要每個按鈕有一個像電子郵件中的價值,它會發送一封電子郵件給你在菜單上選擇的任何人。假設您選擇數學,它會將電子郵件收件人設置爲「[email protected]」等。

+0

你是否設置了scrollView的contentSize,如果沒有設置它。 – Aakash

+0

請閱讀[在什麼情況下,我可以添加「緊急」或其他類似的短語到我的問題,以獲得更快的答案?](https://meta.stackoverflow.com/q/326569) - 總結是,這不是解決志願者問題的理想方式,而且可能對獲得答案起反作用。請不要將這添加到您的問題。 – halfer

回答

0

試試這個:

override func viewDidLayoutSubviews() { 
    scrollView.scrollEnabled = true 
    scrollView.contentSize = CGSizeMake(scrollview's width, 2300) // height should be grater than scrollview's frame height 
} 
0

下面寫代碼,開始您的滾動,並首先檢查你委派滾動視圖,如果沒有的話先委託它。

通過書面方式viewDidLoad()這樣的代碼:

scrollView.delegate = self 

,然後添加以下代碼來設置您的視圖大小到scrollView.Yet我們給出的默認大小爲700 =>高度,但你檢查它的工作後,然後在scrollView.ContentSize

寫的高度設置yourViewName.contentSize這個代碼viewWillAppear()viewDidLayoutSubviews() 靜態滾動身高:

scrollView.contentSize = CGSize(width: self.view.frame.size.width, height: 700) 

動態滾動身高:

scrollView.contentSize = CGSize(width: self.view.frame.size.width, height: yourViewName.frame.size.height) 

這可能幫助你。

-1

當然,它不會滾動。你的scrollView不知道它的contentSize是什麼(我現在假設它是[0,0]現在基於你的設置),因此它就像一個普通的UIView。

這就是爲什麼在Storyboard上使用UIScrollView時,應始終考慮使用自動佈局並設置適當的約束。起初有點棘手,但一旦你瞭解了機制,你就會喜歡它。