【发布时间】:2019-06-14 03:07:28
【问题描述】:
我是 swift 和 ios 开发的新手,我一直在学习本教程:https://www.youtube.com/watch?v=Vq71SPkJIus
但由于某种原因,即使我在具有自动布局的功能视图中将文本居中,它也会一直显示到底部
到目前为止,我已尝试更改约束,但这似乎并没有将其向上移动,它几乎就像是其他东西将其向下推?
@IBOutlet weak var pageControl: UIPageControl!
@IBOutlet weak var slideScrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
slideScrollView.delegate = self
let slides:[Slide] = createSlides()
setupScrollView(slides: slides)
pageControl.numberOfPages = slides.count
pageControl.currentPage = 0
// Do any additional setup after loading the view, typically from a nib.
}
func createSlides() -> [Slide] {
let slide1:Slide = Bundle.main.loadNibNamed("Slide", owner: self, options: nil)?.first as! Slide
slide1.label.text = "Slide1"
let slide2:Slide = Bundle.main.loadNibNamed("Slide", owner: self, options: nil)?.first as! Slide
slide2.label.text = "Slide2"
return [slide1, slide2]
}
func setupScrollView(slides:[Slide]) {
slideScrollView.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.width)
slideScrollView.contentSize = CGSize(width: view.frame.width * CGFloat(slides.count), height: view.frame.height)
slideScrollView.isPagingEnabled = true
for i in 0 ..< slides.count {
slides[i].frame = CGRect(x: view.frame.width * CGFloat(i), y: 0, width: view.frame.width, height: view.frame.height)
slideScrollView.addSubview(slides[i])
}
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let pageIndex = round(scrollView.contentOffset.x/view.frame.width)
pageControl.currentPage = Int(pageIndex)
}
【问题讨论】:
-
在
setupScrollView中你的意思是让height等于framewidth?height: view.frame.width
标签: swift uiscrollview autolayout scroller