私はこれを何時間も探しており、まだ運がありません。私はスクロールビュー内で2つのカスタムビューを使用したい。最初のビューには、ユーザーを次のページに誘導する(スクロールダウンする)サブビューとしてのボタンがあります。しかし、それは決して発射されないボタンアクション。私がスクロールビューのサブビューとしてボタンを使用すると、すべて正常に動作しますが、それは私が望むものではありません。UIView内部のUIButton UIScrollView内でタップアクションを発生しません。
scrollviewビューコントローラのためのコード:
class ViewController: UIViewController {
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
let redView = View1()
redView.view.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.scrollView.frame.height)
self.scrollView.addSubview(redView.view!)
let blueView = UIView(frame: CGRect(x: 0, y: self.scrollView.frame.height, width: self.view.frame.width, height: self.scrollView.frame.height))
blueView.backgroundColor = .blue
self.scrollView.addSubview(blueView)
self.scrollView.contentSize = CGSize(width: self.view.frame.width, height: self.scrollView.frame.height * 2)
}
func go(to page: Int) {
let y = CGFloat(page) * self.scrollView.frame.size.height
self.scrollView.setContentOffset(CGPoint(x: 0, y: y), animated: true)
}
}
ScrollView Storyboard Configuration
View1をクラスのコード:
class View1: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func didTouchUpInsideMoreInfoButton(_ sender: Any) {
print("test")
}
}
すべてのアイデアは歓迎されています。前もって感謝します。
ボタンについてはどこですか?あなたのコードにボタンが表示されていません –
xibファイルにあります。私はIBActionをView1クラスにのみ接続しています。 –
私はあなたの問題を修正することができましたが、あなたのコードに基づいて、 'Auto Layout'と' UIScrollView'の再学習と、どのように一緒に作業を進めるかを提案します。 Appleのドキュメントは、この分野で本当にうまくいきます。https://developer.apple.com/library/content/technotes/tn2154/_index.html#//apple_ref/doc/uid/DTS40013309-CH1-TNTAG3 – slickdaddy