2017-03-07 4 views
1

내 코드는 두 페이지와 버튼이있는 uiscrolview입니다. 문제는 뷰 컨트롤러 정보 (중간 이미지)에있는 경우입니다. 그런 다음 버튼을 눌러 scrollview로 돌아갑니다. 페이지 1로 돌아갑니다. 정보 슬라이드에서 scrollview로가는 것이 무엇이든 항상 컨트롤러 1을보고 루프가 다시 설정됩니다. 내가 VC 2에 있다면 정보 버튼을 정보 슬라이드로 이동하십시오. 정보 슬라이드의 버튼을 누르면 VC 2로 돌아가고 싶습니다. 내 코드는 아래에 있습니다. 기본적으로 루프는 항상 재설정됩니다. 가능한 경우 수정합니다.스크롤 뷰에서 루프 재설정 (swift3)

enter image description here

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) 

}} 
+0

텍스트와 코드 줄 사이에 크기가 큰 이미지 세 개를 삽입하면 어떤 점이 있습니까? 사람들에게 그 크기로 보도록 정말로해야합니까? –

+0

info 컨트롤러의 버튼 동작 코드를 추가하십시오. –

답변

0

이것은 ViewWillAppear 또는 ViewWillAppear 문제 같은 소리

enter image description here

page one

, 당신이 그 기능 아무것도 설정되어 있는지 확인합니다.

+0

그것이 어떻게 도움이 될지 이해할 수 없습니다. –

+0

scrollView가 포함 된 viewController로 돌아 가면 해당 두 함수가 구현되면 자동으로 호출되므로 어떤 scrollView 코드를 만든 경우 다시 돌아올 때 호출됩니다. –

+0

예 가장 쉬운 방법이라고 생각합니다. 할 일은 nslayout 제약 조건을 사용하고 정보 슬라이드를 확장하는 것입니다. 그렇게하면 뷰 컨트롤러를 변경하지 않을 것입니다. –