簡體   English   中英

UIScrollView不滾動Swift 3

[英]UIScrollView not scrolling Swift 3

我已禁用了所有自動布局,但仍然無法滾動。 我上面有很多UIButton,它們都鏈接到要單擊的Segue,因此可以轉到下一頁。 我還沒有為UIScrollView添加任何代碼,也不確定是否這樣做。 這是屏幕截圖,以及我在scrollview場景中使用的代碼,

   @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

編輯:我還需要每個按鈕都具有一個類似電子郵件的值,因為它將向您在菜單上選擇的任何人發送電子郵件。 假設您選擇數學,它將電子郵件收件人設置為“ mathteacher@gmail.com”,依此類推。

嘗試這個 :

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

在下方編寫代碼以開始滾動,並首先檢查是否委托該scrollView,如果不是,則首先委托它。

通過像這樣在viewDidLoad()編寫代碼:

scrollView.delegate = self

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

將此代碼寫入viewWillAppear()viewDidLayoutSubviews()靜態滾動中Height:

   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)

可以幫助您。

當然不會滾動。 您的scrollView不知道它的contentSize是什么(我根據您的設置假定它現在是[0,0]),因此它的行為就像普通的UIView。

這就是為什么在Storyboard上使用UIScrollView時,您應該始終考慮使用自動布局並設置適當的約束的原因。 剛開始時有點棘手,但是一旦您了解了該機制,便會喜歡上它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM