gpt4 book ai didi

ios - 如何在ios中创建日期滚动条

转载 作者:行者123 更新时间:2023-11-30 11:12:07 26 4
gpt4 key购买 nike

我想在 iOS 中创建一个日期滚动条。我正在尝试在日 View 中重现 native 日历应用程序中的滚动条,其中包含sun-sat days,并且能够左右滚动以查看其他星期。

实现这一目标的最佳方法是什么?

我尝试过使用滑动手势的 ContainerView,然后我想用新的 View 替换 container 中的 View (同一 View 的副本)但上/下几周的日期)。但是,当添加新 View 时,它会接管整个 View ,而不仅仅是 View 容器。

该应用程序的设计是:

NavViewController -> ViewController -> Container -> SwipeViewController

在 View Controller 内部,我在滑动操作方法中有这个:

let viewController = self.storyboard!.instantiateViewController(withIdentifier: "swipeViewControllerStoryboard") as! SwipeViewController
self.swipeContainer.addSubview(viewController.view)

最佳答案

我不确定我是否理解得很好,但创建自定义 PickerView 或多或少与创建任何其他组件(即 tableViews)相同。创建一个 IBOutlet pickerView。创建继承自 UIPickerView 的类并实现:

UIPickerViewDataSource

func numberOfComponents(in pickerView: UIPickerView) -> Int { 
return 1 //maybe more?
}

func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return yourArray.count
}

UIPickerViewDelegate

func pickerView(_ pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {
return (CGFloat)70
}
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
let view = UIView(frame: CGRect(x: 0, y: 0, width: customWidth, height: 100)) //height CGFloat
//And create your labels here and add to view.addSubView(label)
//let label = UILabel(frame: CGRect(x: 0, y: 0, width: customWidth, height: 70))
//...
//..
//.

//use CGAffineTransform and rotate the picker to horizontal
view.transform = CGAffineTransform(rotationAngle: 90 * (.pi/180))

return view
}

返回 ViewController 实例化 CustomPicker。将 pickerView 的委托(delegate)和数据源设置为您的 CustomPicker 实例。

我确信有很多方法可以做到这一点,并且可以是一种破解。也许找到一种自定义 UIDatePicker 的方法,但如果您想使用任何其他数据自定义 pickerViews,我会走这条路。

关于ios - 如何在ios中创建日期滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52077931/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com