2014-10-15 2 views
7

앱이로드 된 후 일정 시간이 지나면 기본 viewController에서 두 번째보기 컨트롤러로 자동 전환하려고합니다.스위프트를 사용하여 Xcode 6에서 자동 분할 기능을 수행하려면 어떻게해야합니까?

어떻게하면됩니까?

프로그래밍 방식으로 수행해야합니까? delay초 후 launchMainUI 방법을 수행

let delay = 1 // Seconds 
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(delay * NSEC_PER_SEC)), dispatch_get_main_queue()) { 
    self.launchMainUI() 
    return 
} 

:

답변

17

당신의 UI가 스토리 보드에 배치하는 경우, 첫 번째 ViewControllerviewDidLoadNSTimer을 설정하고 타이머 화재 때 다음 performSegueWIthIdentifier 전화 :

class ViewController: UIViewController { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
     let timer = NSTimer.scheduledTimerWithTimeInterval(8.0, target: self, selector: #selector(timeToMoveOn), userInfo: nil, repeats: false) 
    } 

    func timeToMoveOn() { 
     self.performSegueWithIdentifier("goToMainUI", sender: self) 
    } 
여기

은 당신이 설정하는 방법 스토리 보드에서 SEGUE : 두 번째에 대한 첫 번째 ViewController의 파일의 소유자 아이콘에서

  1. 제어 드래그.
  2. 팝업에서 "모달"을 선택하십시오. Seting up the segue


  1. SEGUE을 클릭 뷰 컨트롤러 사이에 나타나는 화살표. 속성 검사기에 대해 ...
  2. 구분 기호를 지정하십시오.
  3. 는 당신이 화면 슬라이드를 표시하지 않으려면 을에 애니메이션 해제
  4. .

enter image description here

1

당신은이 코드 조각을 사용할 수 있습니다. 보기 컨트롤러를 인스턴스화하고 제시하거나, 단순히 segue를 호출하는 자체 구현으로 대체하십시오.

0

당신의 행동이 예제

self.performSegueWithIdentifier 같이 작성해야합니다 ("segue의 이름", 보낸 사람 : 자기)

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 
{   
     if(segue.identifier == "name of segue") 
     { 
      var view : yourviewcontroller = segue.destinationViewController as yourviewcontroller 
     } 

} 
0

스위프트 4 :

let timer = Timer.scheduledTimer(timeInterval: 8.0, target: self, selector: #selector(segueToSignIn), userInfo: nil, repeats: false) 

@objc func segueToSignIn() { 
    self.performSegue(withIdentifier: "SignInSegue", sender: self) 
} 
관련 문제