以下は私のコードです。私もスクリーンショットを投稿しました。Swift 3 - 関数を実行できません
Button_CustomSegmentValueChangedは、私が作成したカスタムの分割コントロールです。その個々のボタンと正常に動作しているが、私も "SwipedRight"関数の内部から "Button_CustomSegmentValueChanged"関数を実行するが、私はそうするために正しいスイッチ値を渡すことができません。それに助けが必要です。
誰でも?
import UIKit
class CredentialsViewController: UIViewController {
@IBOutlet weak var loginView: UIView!
@IBOutlet weak var signupView: UIView!
var currentSelectedView = 0
override func viewDidLoad() {
super.viewDidLoad()
let swipeR = UISwipeGestureRecognizer(target: self, action: #selector(CredentialsViewController.SwipedRight(swipe:)))
swipeR.direction = .right
view.addGestureRecognizer(swipeR)
let swipeL = UISwipeGestureRecognizer(target: self, action: #selector(CredentialsViewController.SwipedLeft(swipe:)))
swipeL.direction = .left
view.addGestureRecognizer(swipeL)
//Hide view
signupView.transform = CGAffineTransform(translationX: signupView.frame.size.width, y: 0)
}
@IBAction func Button_CustomSegmentValueChanged(_ sender: CustomSegmentedControl) {
switch sender.selectedSegmentIndex {
case 0:
LoadLoginView()
break
case 1:
LoadSignupView()
break
default:
break
}
}
func SwipedRight(swipe : UISwipeGestureRecognizer){
if currentSelectedView == 1 {
Button_CustomSegmentValueChanged(0)
//LoadLoginView()
}
}
func SwipedLeft(swipe : UISwipeGestureRecognizer){
if currentSelectedView == 0 {
//LoadSignupView()
}
}
func LoadLoginView(){
UIView.animate(withDuration: 0.5, delay: 0, options: .curveEaseOut, animations: {
self.signupView.transform = CGAffineTransform(translationX : self.loginView.frame.size.width, y : 0)
self.loginView.transform = .identity
self.currentSelectedView = 0
})
}
func LoadSignupView(){
UIView.animate(withDuration: 0.5, delay: 0, options: .curveEaseOut, animations: {
self.signupView.transform = .identity
self.loginView.transform = CGAffineTransform(translationX: self.loginView.frame.size.width, y: 0)
self.currentSelectedView = 1
})
}
}
Screenshot of my code and error
Button_CustomSegmentValueChanged関数はパラメータとしてCustomSegmentedControlを受け取り、それにIntを送信しようとしています – 3stud1ant3
こんにちは、あなたが言っていることを理解していますが、それを行う方法の正しいコードを教えてください。問題は、2つのオプションを持つカスタムのセグメント化コントローラを作成し、2つのビューを使用して2つの表示を切り替えることです。セグメント化されたコントロールをタップすると、すべて正常に動作します。私はスワイプ、その正常に動作しているが、セグメント化されたコントローラのセレクタは変更されません。その理由は、スイッチを理解するためにはタップする必要があるからです。私は他の関数からタップされた関数を呼び出すことによってそれを複製したいだけです。ビデオを見てくださいhttp://youtu.be/Z5CHq4-MeVo – Biks
さて、あなたはCustomSegmentedControlのコードを表示できますか? – 3stud1ant3