È possibile che stia facendo qualcosa di veramente stupido, ma non riesco a utilizzare Interface Builder per connettere le variabili IBOutlet alle viste personalizzate, ma solo in Swift.Controlli Swift, iboutlet e personalizzati
Ho creato una classe chiamata MyView, che si estende da UIView. Nel mio controller, ho una variabile MyView (dichiarata come @IBOutlet var newView: MyView). Vado in IB e trascino un UIView sulla finestra e gli do una classe di MyView.
Ogni volta che ho eseguito un simile obiettivo in Objective C, sono quindi in grado di fare clic sul pulsante Visualizza controller nella parte superiore della finestra dell'app, selezionare la variabile e trascinarla sul controllo per collegare i due insieme. Quando lo provo in Swift, si rifiuta di riconoscere che la vista è lì.
Se cambio la classe della variabile nel controller su UIView, funziona correttamente. Ma non con la mia vista personalizzata.
Qualcun altro ha avuto questo problema? Ed è una caratteristica, o solo la mia idiozia?
Codice per il regolatore
import UIKit
class ViewController: UIViewController {
@IBOutlet var newView:MyView
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Codice in vista
import UIKit
class MyView: UIView {
init(frame: CGRect) {
super.init(frame: frame)
// Initialization code
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func drawRect(rect: CGRect)
{
// Drawing code
}
*/
}
Anche io sto riscontrando questo problema, penso che questo sia un bug e dovresti segnalarlo. –