Non riesco a trovare un modo per abilitare accuratamente lo scorrimento orizzontale e verticale a livello di codice con Swift (i miei oggetti sono programmatici rendendo così impossibile l'uso del layout automatico in IB).UIScrollView a livello di codice in Swift
Il tutorial che ho seguito consente di scorrere entrambi i modi come previsto. Il problema è che il mio pulsante rimane nello stesso punto che occupa parte dello schermo indipendentemente da dove scorri. Ho avuto lo stesso risultato con un altro tutorial e sono abbastanza confuso sul perché questo sta accadendo.
Non sono stato in grado di trovare una risposta a questo quindi presumo che alcuni altri troveranno questo utile.
Ecco il codice che ho. Ho fatto un progetto molto semplice sulla base di questo tutorial: http://koreyhinton.com/blog/uiscrollview-crud.html
import UIKit
class ViewController: UIViewController, UIScrollViewDelegate {
var scrollView: UIScrollView!
var containerView = UIView()
override func viewDidLoad() {
super.viewDidLoad()
let buttonOne = UIButton.buttonWithType(UIButtonType.System) as UIButton
buttonOne.frame = CGRectMake(10, 50, 50, 50)
buttonOne.backgroundColor = UIColor.greenColor()
buttonOne.setTitle("test", forState: UIControlState.Normal)
buttonOne.addTarget(self, action: "buttonAction1x1:", forControlEvents: UIControlEvents.TouchUpInside)
self.scrollView = UIScrollView()
self.scrollView.delegate = self
self.scrollView.contentSize = CGSizeMake(1000, 1000)
containerView = UIView()
scrollView.addSubview(containerView)
view.addSubview(scrollView)
self.view.addSubview(buttonOne)
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
scrollView.frame = view.bounds
containerView.frame = CGRectMake(0, 0, scrollView.contentSize.width, scrollView.contentSize.height)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
Prova pulsante Aggiungi per ScrollView o containerView –