pdtsimplecalendar objective jtapplecalendar swift swift3 uiview ios8

objective - progress view swift



Programáticamente coloque una imagen parcial sobre otra en UIView usando Swift 3 (1)

Empecé a trabajar en Swift la semana pasada y necesito una sugerencia si el siguiente enfoque es la forma correcta de colocar una imagen parcial sobre otra imagen.

Tengo una UIView en la cual estoy creando 3 imágenes programáticamente. Imagen de flecha izquierda, imagen móvil media e imagen de flecha derecha como se muestra a continuación. ¿Puedo colocar parcialmente imágenes de flecha al 50% en la imagen móvil?

Yo he tratado:

func setupUI(){ let mobileImage = UIImage(named: "mobile") let arrowImage = UIImage(named: "arrow") middleView = UIImageView(frame: CGRect(x: arrowImage!.size.width/2, y:0 , width:mobileImage!.size.width, height:mobileImage!.size.height)) middleView.image = mobileImage middleView.layer.borderWidth = 1.0 middleView.layer.cornerRadius = 5.0 self.addSubview(middleView) let yForArrow = mobileImage!.size.height - arrowImage!.size.height leftArrow = UIImageView(frame: CGRect(x: 0, y:yForArrow, width:arrowImage!.size.width, height:arrowImage!.size.height)) leftArrow.image = arrowImage self.addSubview(leftArrow) let rightArrowX = mobileImage!.size.width rightView = UIImageView(frame: CGRect(x: rightArrowX, y:yForArrow, width:arrowImage!.size.width, height:arrowImage!.size.height)) rightView.image = arrowImage self.addSubview(rightView) }

* Al principio no funcionaba, ya que olvidé agregar setupUI () en el método init. Como se muestra en la respuesta a continuación.

¿Es correcto establecer el marco para hacerlo O debería usar restricciones?

Para mí, se ve mal el enfoque, ya que soy difícil de codificar los números en CGRect.

* Esta imagen está creada en MS Paint para mostrar lo que debería verse en el iPhone.


Encontré el problema que me perdí al agregar setupUI () en el método init.

SetupUI agrega imágenes mediante programación en UIView. Como faltaba, no apareció ninguna imagen en el simulador de iPhone.

override init(frame: CGRect) { super.init(frame: frame) setupUI() // Code to add images in UIView }

Pero me resulta muy desmotivante que la gente haya bajado la pregunta.