[英]Multiple scrollviews inside each other
我有一個水平水平滾動視圖里面的垂直頁面滾動視圖。 水平滾動視圖有效,而垂直滾動視圖無效。
我在垂直scrollview上使用了scrollView.contentSize=CGSize(500,2000)
,但仍無法正常工作。
現在是什么問題?
我應該說,垂直添加到視圖中,以編程方式使用xib。
這是我的Main.swift (我沒有情節提要 ):
class test: UIViewController {
@IBOutlet weak var scroll: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func viewDidLayoutSubviews() {
let myView3:TourDetailsDescription = TourDetailsDescription(frame: CGRect(x: 0, y: 0, width: scroll.frame.width, height: scroll.frame.height))
myView3.getView().frame.origin.x = CGFloat(2*scroll.frame.width)
scroll.addSubview(myView3)
let img1:UIImageView = UIImageView(image: UIImage(named: "kavir"))
img1.frame = CGRect(x: 0, y: 0, width: 300, height: 600)
myView3.mainScroll.addSubview(img1)
myView3.mainScroll.contentSize = CGSize(width: 300, height: 600)
self.scroll.contentSize = CGSize(width:UIScreen.main.bounds.width * CGFloat(2), height:self.scroll.frame.height)
}
}
和我的TourDetailsDescription.swift :
class TourDetailsDescription:UIView {
@IBOutlet weak var mainScroll: UIScrollView!
var parent:UIView!
@IBOutlet var contentView: UIView!
override init(frame: CGRect) {
super.init(frame: frame)
commitInit()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commitInit()
}
private func commitInit(){
Bundle.main.loadNibNamed("TourDetailsDescription", owner: self, options: nil)
addSubview(contentView)
contentView.frame = self.bounds
contentView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
}
func getView()->UIView{
return contentView
}
}
可能對您有幫助:),正在操場上工作
class ScrollingViewController : UIViewController {
override func loadView() {
let contentView = UIView(frame: CGRect(x: 0, y: 20, width: 2000, height: 200))
contentView.backgroundColor = .green
let scrollView = UIScrollView()
scrollView.contentSize = contentView.frame.size
scrollView.addSubview(contentView)
scrollView.flashScrollIndicators()
scrollView.backgroundColor = .white
let verticalContainerView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
verticalContainerView.backgroundColor = .blue
let verticalContentView = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 2000))
verticalContentView.backgroundColor = .red
let verticalScrollView = UIScrollView(frame: verticalContainerView.frame)
verticalScrollView.contentSize = verticalContentView.frame.size
verticalScrollView.addSubview(verticalContentView)
scrollView.flashScrollIndicators()
verticalScrollView.backgroundColor = .white
verticalContainerView.addSubview(verticalScrollView)
contentView.addSubview(verticalContainerView)
self.view = scrollView
}
}
PlaygroundPage.current.liveView = ScrollingViewController()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.