gpt4 book ai didi

swift - 自动布局和 Storyboard不起作用 - Swift?

转载 作者:行者123 更新时间:2023-11-30 10:42:00 25 4
gpt4 key购买 nike

我是 swift 和 ios 开发的新手,我一直在关注本教程:https://www.youtube.com/watch?v=Vq71SPkJIus

但由于某种原因,即使我在功能 View 中将自动布局中的文本居中,它也会一直显示到底部

截图:https://ibb.co/9p9XV4q

到目前为止,我已经尝试改变约束,但这似乎并没有将其向上移动,它几乎就像其他东西在将其向下推?

@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)
}

最佳答案

class ViewController: UIViewController , UIScrollViewDelegate{

@IBOutlet weak var mainScroll: UIScrollView!

@IBOutlet weak var pageControl: UIPageControl!

let color = [UIColor.red,UIColor.blue,UIColor.gray,UIColor.orange,UIColor.brown]
let textBtn = ["A real-life bear","A real-life bear","A real-life bear","A real-life bear","A real-life bear"]
let textLb = ["Did you know that Winnie the chubby little cubby was based on a real, young bear in London","Did you know that Winnie the chubby little cubby was based on a real, young bear in London","Did you know that Winnie the chubby little cubby was based on a real, young bear in London","Did you know that Winnie the chubby little cubby was based on a real, young bear in London","Did you know that Winnie the chubby little cubby was based on a real, young bear in London"]

var counter = 0
var currentPage = 0


override func viewDidLoad() {
super.viewDidLoad()
for i in 0..<color.count {
// Random Image set and scroll

let xpostion = self.mainScroll.frame.width * CGFloat(i)
let slide:Slide = Bundle.main.loadNibNamed("Slide", owner: self, options: nil)?.first as! Slide

slide.frame = CGRect(x: xpostion, y: 0, width: self.mainScroll.frame.width , height: self.mainScroll.frame.height)
slide.backgroundColor = color[i]
slide.textLabel.text = textLb[i]
slide.textBtn.setTitle(textBtn[i], for: .normal)
mainScroll.contentSize.width = mainScroll.frame.width * CGFloat(i + 1)
mainScroll.addSubview(slide)

}
mainScroll.delegate = self
pageControl.numberOfPages = color.count
pageControl.currentPage = 0
}

func scrollViewDidScroll(_ scrollView: UIScrollView)
{
let pageWidth = mainScroll.frame.width
self.currentPage = Int((mainScroll.contentOffset.x + pageWidth / 2) / pageWidth)
self.pageControl.currentPage = self.currentPage
counter = currentPage
}
}

关于swift - 自动布局和 Storyboard不起作用 - Swift?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56590894/

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