나는 몇 시간 동안 이것을 찾고 있었지만 아직 행운이 없습니다. scrollview 내부에 두 개의 사용자 정의보기를 사용하고 싶습니다. 첫 번째보기에는 사용자를 다음 페이지로 안내하는 하위보기로 단추가 있습니다 (아래로 스크롤). 그러나 결코 해고 된 적이없는 버튼 동작. scrollview 하위보기로 단추를 사용하면 모든 것이 정상적으로 작동하지만 원하는 것은 아닙니다.UIButton 내부의 UIView 내부에서 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
뷰 1 클래스의 코드 :
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