2017-01-11 25 views
0

私は複数ページのパンフレットアプリで作業しており、ページに参​​加するためにセグを使用しています。私は20ページ程度のページを持っていて、セグエシステムは乱雑に見えます。ボタンをクリックすると、Segueを使わずに新しいビューが表示されますか?

私はプログラムでViewControllerにボタンを作成しました。私はちょうどそのボタンがそれがどんなページであっても別のビューにリンクするようにしています。 これは、私が何百回もセグを描く必要がないことを意味するでしょう!

class ViewController: UIViewController { 

override func viewDidLoad() { 
    let button:UIButton = UIButton(frame: CGRect(x: 25, y: 50, width: 250, height: 75)) 
    button.backgroundColor = .black 
    button.setTitle("", for: .normal) 
    button.addTarget(self, action:#selector(self.buttonClicked), for: .touchUpInside) 
    self.view.addSubview(button) 
} 

func buttonClicked() { 
    print("Button Clicked") 
} 

私は私がこれを行うにできるようになる任意のコードのどこかを見つけることができないので、それも可能だ場合、私は思ったんだけど。

何か助けていただければ幸いです。

+0

私は常にトップページに戻ってリンクする「ホームボタン」を実現したいのUIView – iDeveloper

答えて

2

いくつかのデモ: それが自動的にそれhereについての完全なチュートリアルがあるスワイプジェスチャーや... を追加しますサンプルコードです。

let storyboard: UIStoryboard = UIStoryboard(name: "yourStoryboardName", bundle: nil) 
let vc: UIViewController = storyboard.instantiateViewControllerWithIdentifier("YoourViewControllerStoryBoardID") as UIViewController 
self.present(vc, animated: true, completion: nil) 

このメソッドは、呼び出すたびに指定されたView Controllerの新しいインスタンスを作成します。

すでにviewControllerへのポインタがある場合は、それを提示してください。

+0

完全に作業しました。ありがとうございました! –

1

私はこのようなことをする最善の方法はPageViewControllerだと思います。私はあなたがsegue.Hereせずに、プログラムで別のページを表示することを想定しています

enter image description here

+0

タイプのカスタムビューを作成します。だからスワイプや他のタッチジェスチャーはあまり役に立ちません。私はページにリンクするためのボタンが必要です。ありがとう、私はおそらく将来のプロジェクトでこれを使用します! –

0

ここでわかっていることは、ボタンを押したときにViewControllerを切り替えることです。

ViewControllerの場合、Sequeにしたい場合は、右側のカスタムクラスの下にある「ストーリーボードID」にSignupvcを追加します。

@IBAction func differentSequeAction(sender: AnyObject) 
{ 

    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
    let SignUp: UIViewController = mainStoryboard.instantiateViewController(withIdentifier: "Signupvc") 

    self.present(SignUp, animated: true, completion: nil) 

} 
関連する問題