私のコードは、2ページとボタン付きのuiscrolviewです。問題は、私がビューコントローラの情報(ミドルイメージ)上にある場合です。その後、ボタンを押してスクロールビューに戻ります。ページ1に戻ります。情報スライドからスクロールビューに移動しても、常にコントローラー1が表示され、ループがリセットされます。私がVC 2にいる場合、情報ボタンを押すと情報スライドに移動します。情報スライドのボタンを押すと、VC 2に戻ります。私のコードは以下の通りです。基本的にループは常にリセットされます。可能であれば修正したいと思います。スクロールビューのループ再設定(swift3)
import UIKit
class ViewController: UIViewController, UIScrollViewDelegate {
@IBOutlet var pageControl: UIPageControl!
@IBOutlet var slideScrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
slideScrollView.delegate = self
let slides:[slide] = createSlides()
setupSlideScrollView(slides: slides)
pageControl.numberOfPages = slides.count
pageControl.currentPage = 0
view.bringSubview(toFront: pageControl)
}
override var prefersStatusBarHidden: Bool {
return true
}
func createSlides() -> [slide]{
let slide1:slide = Bundle.main.loadNibNamed("slide", owner: self, options: nil)?.first as! slide
slide1.label.text = "1"
let slide2:slide = Bundle.main.loadNibNamed("slide", owner: self, options: nil)?.first as! slide
slide2.label.text = "2"
return [slide1,slide2 ]
}
func setupSlideScrollView(slides:[slide]) {
slideScrollView.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.height)
slideScrollView.contentSize = CGSize(width: view.frame.width * CGFloat(slides.count), height: view.frame.height)
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])
slideScrollView.isPagingEnabled = true
}
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let pageIndex = round(scrollView.contentOffset.x/view.frame.width)
pageControl.currentPage = Int(pageIndex)
}}
テキストとコード行の間に3つの大きな画像を挿入する際のポイントは何ですか?あなたは本当に人々にそのサイズでそれらを見せてもらう必要がありますか? –
infocontrollerのボタンアクションのコードを追加します。 –