vistas vista tipos personalizada pasar otro libro hoja desactivada definicion ios xcode swift custom-view

ios - tipos - vistas de excel 2013



Cómo crear una vista personalizada mediante programación en un campo de texto con controles rápidos, botón, etc. (5)

Estoy intentando acceder a MyCustomView desde otra clase usando el siguiente código en ViewController.swift ..

var view = MyCustomView(frame: CGRectZero)

.. en el método viewDidLoad . El problema es que la vista no se inicializa en el simulador.

Ya he establecido una clase en el guión gráfico para el ViewController actual.

class MyCustomView: UIView { var label: UILabel = UILabel() var myNames = ["dipen","laxu","anis","aakash","santosh","raaa","ggdds","house"] override init(){ super.init() } override init(frame: CGRect) { super.init(frame: frame) self.addCustomView() } required init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } func addCustomView() { label.frame = CGRectMake(50, 10, 200, 100) label.backgroundColor=UIColor.whiteColor() label.textAlignment = NSTextAlignment.Center label.text = "test label" label.hidden=true self.addSubview(label) var btn: UIButton = UIButton() btn.frame=CGRectMake(50, 120, 200, 100) btn.backgroundColor=UIColor.redColor() btn.setTitle("button", forState: UIControlState.Normal) btn.addTarget(self, action: "changeLabel", forControlEvents: UIControlEvents.TouchUpInside) self.addSubview(btn) var txtField : UITextField = UITextField() txtField.frame = CGRectMake(50, 250, 100,50) txtField.backgroundColor = UIColor.grayColor() self.addSubview(txtField) }


La constante CGRectZero es igual a un rectángulo en la posición (0,0) con ancho y alto cero. Esto está bien para usar, y realmente preferido, si usa AutoLayout, ya que AutoLayout colocará la vista correctamente.

Pero, espero que no uses AutoLayout. Por lo tanto, la solución más simple es especificar el tamaño de la vista personalizada proporcionando un marco explícitamente:

customView = MyCustomView(frame: CGRect(x: 0, y: 0, width: 200, height: 50)) self.view.addSubview(customView)

Tenga en cuenta que también necesita usar addSubview contrario, su vista no se agregará a la jerarquía de vistas.


Swift 3 / Swift 4 Actualización:

let screenSize: CGRect = UIScreen.main.bounds let myView = UIView(frame: CGRect(x: 0, y: 0, width: screenSize.width - 10, height: 10)) self.view.addSubview(myView)


let viewDemo = UIView() viewDemo.frame = CGRect(x: 50, y: 50, width: 50, height: 50) self.view.addSubview(viewDemo)


var customView = UIView() @IBAction func drawView(_ sender: AnyObject) { customView.frame = CGRect.init(x: 0, y: 0, width: 100, height: 200) customView.backgroundColor = UIColor.black //give color to the view customView.center = self.view.center self.view.addSubview(customView) }


view = MyCustomView(frame: CGRectZero)

En esta línea, está intentando establecer rect vacío para su vista personalizada. Es por eso que no puedes ver tu vista en el simulador.