Hola estoy tratando de realizar una aplicación mediante programación sin el Guión. Actualmente tengo esta mi código:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "popOutNoteExpanded" {
        let vc = segue.destination as! ExpandedCellViewController
        let cell = sender as! AnnotatedPhotoCell
        sourceCell = cell
        vc.picture = cell.imageView.image
        print("button pressed")
    }
}

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    performSegue(withIdentifier: "popOutNoteExpanded", sender: indexPath)
}

Cuando hago clic en la vista de colección de la célula, es decir que:

no tiene segue con identificador ‘popOutNoteExpanded’.

No está seguro de cómo realizar mi costumbre de animación de transición.

  • Usted puede encontrar su solución aquí
InformationsquelleAutor ajayb | 2017-05-05

3 Comentarios

  1. 14

    Desemboca son componentes de guión gráfico. Si usted no tiene un guión gráfico, no se puede realizar desemboca. Pero usted puede utilizar el presente de controlador de vista de como esta:

    let vc = ViewController() //your view controller
    self.present(vc, animated: true, completion: nil)
    • Gracias por este. Tengo que confirmar que no los puedo usar una secuencia de identificador sin guión. Sé cómo de vista actual. Sólo necesita jugar con mi código un poco.
  2. 26

    Para desencadenar una aplicación mediante programación, usted tiene que seguir los pasos:

    1. Configurar en Guión por arrastrando el deseado pase entre dos controladores de y conjunto de su identificador (por ejemplo, en tu caso es «popOutNoteExpanded») en los Atributos del Inspector de la sección.

    2. Llamada mediante programación

    performSegue(withIdentifier: "popOutNoteExpanded", sender: cell)

    Por favor, compruebe si establece su identificador correctamente o no.

    Además, en el código anterior, poner una incorrecta remitente.
    En su prepare() método, se utiliza el remitente como un UITableViewCell, pero llamar a performSegue() con el remitente como un IndexPath.

    Usted necesita un celular llamando al:

    let cell = tableView.cellForRow(at: indexPath) 

    Y, a continuación, puede realizar una segue:

    performSegue(withIdentifier: "popOutNoteExpanded", sender: cell)
    • Ya esta resuelto para mí. Gracias!
    • Eres bienvenido. Me alegro de ayuda.
    • debe ser la respuesta correcta
    • No es verdad que no tiene la pregunta es acerca de la realización de segue SIN un guión gráfico
  3. 2

    Adicional a la respuesta correcta, por favor, tenga en cuenta que si usted está en una pila de navegación (por ejemplo, estás en una página de Configuración y desea pasar a una MyAccountVC) que se debe utilizar:

    let vc = MyAccountVC()
    self.navigationController?.pushViewController(vc, animated: true)

    Si el navegado VC aparece con un fondo transparente durante la transición, que acaba de establecer el backgoundColor de que .white.

Dejar respuesta

Please enter your comment!
Please enter your name here