我有来自视图控制器的数据,我想传递另一个视图控制器,但我将其设置为模态呈现,所以我在它们之间有一个导航控制器。如何将数据从第一个视图控制器通过导航控制器传递到第二个视图控制器?
我在第一个视图控制器中有这段代码:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "presentPopup"
{
let destViewController = segue.destination as! NavigationViewController
destViewController.myData2 = myData
}
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
}
Run Code Online (Sandbox Code Playgroud)
然后导航控制器中的这段代码:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let destViewController = segue.destination as! SecondViewController
destViewController.myData3 = myData2
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用。
所以我有一个viewcontroller,我把一个scrollview放入.在scrollview中,我在上半部分放了一堆项目,如图像,标签和按钮.在下半部分,我提出了一个uitableview.我设置了所有约束和一切.我使用了以下代码:
let bounds: CGRect = UIScreen.main.bounds
let w:Int = Int(bounds.size.width)
let h:Int = Int(chaptersTableView.contentSize.height)
let temp: Int = 300 + h
scrollView.contentSize = CGSize(width: w, height: temp)
chaptersTableView.frame = CGRect (x: 0, y: 280.5, width: self.view.frame.size.width, height: CGFloat(44 * sampleModel.objectChapterList.count))
Run Code Online (Sandbox Code Playgroud)
我想设置scrollview的内容大小,然后设置我的tableview框架的高度.
tableview意味着包含许多项目,因此我希望用户能够向下滚动,并且滚动视图的整个内容向下滚动以显示更多的tableview.但是,tableview总是被切断,当我在scrollview中向下滚动时,表结束.我必须滚动tableview内部才能访问更多单元格.
即使我用一个像100这样的随机数替换"44*(表格中的单元格数量)",它也会首先关闭表格,因为它很短,但是当我点击屏幕时,表格会发生变化恢复全长到屏幕底部(但不是滚动视图的底部).
我想把滚动视图的上半部分中的所有东西都放在tableview的另一个单元格中,这样它就可以成为表格的一部分而且我可以避免这种麻烦,但这将是很多工作所以我想看看是否我能做到这一点.
如果您需要图片或其他东西,我可以提供它们.如果我不清楚,请务必发表评论,我可以更好地解释.
所以我有这个代码,当按下按钮时实例化一个视图控制器:
@IBAction func addChapter(_ sender: Any) {
let addChapterController = AddChapterViewController()
self.present(addChapterController, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
没有prepareForSegue,如何将数据传递给这个新创建的视图控制器?
因此,出于某种原因,当我像这样导入单行时,它工作得很好:
package main
import "fmt"
func main() {
fmt.Println("hi")
}
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时:
package main
import {
"fmt"
"bufio"
"os"
"errors"
"math"
}
func main() {
fmt.Println("hi")
}
Run Code Online (Sandbox Code Playgroud)
我明白了:
main.go:3:8:预期为“STRING”,找到“{”
main.go:4:3:预期为“;”,发现“fmt”
有谁知道有什么问题吗?谢谢!