我正在使用SJSegmentedViewController并在 SegmentController 中加载两个 View Controller ,我想为这两个 Controller 添加填充 20 px,但我已经尝试过但无法实现,
如果有人知道如何自定义 SJSegmentedViewController,请参阅此处所附的屏幕截图。
override func viewDidLoad() {
super.viewDidLoad()
let headerViewController = storyboard
.instantiateViewController(withIdentifier: "HeaderViewController1")
let firstViewController = storyboard
.instantiateViewController(withIdentifier: "FirstTableViewController")
firstViewController.title = "First"
let secondViewController = storyboard
.instantiateViewController(withIdentifier: "SecondViewController")
secondViewController.title = "Second"
let segmentController = SJSegmentedViewController()
segmentController.headerViewController = headerViewController
segmentController.segmentControllers = [firstViewController,
secondViewController]
segmentController.headerViewHeight = 300.0
navigationController?.pushViewController(segmentController, animated: true)
}
最佳答案
基于 SJContentView
的实现,我发现该库没有使用 Collection View 来实现包含所有 View Controller 的分页滚动。它直接使用 ScrollView 。处理 View Controller 布局的两个函数
func addContentView(_ view: UIView,frame: CGRect)
func updateContentControllersFrame(_frame: CGRect)
不支持在两个相邻 View Controller 的两个 View 之间添加填充。
如果您想继续使用SJSegmentedViewController
,有两种方法
在 View Controller 的 View 上添加填充,而不是希望将它们放在 ScrollView 中的 View 之间。这里屏幕的可用宽度将减少。
创建an issue并寻求帮助。
关于ios - 如何向 ViewController 添加填充/边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58952242/