Necesito crear una totalmente personalizados UIRefresh de control. Animación, imagen, tire hacia abajo la cantidad, etc…

Mi idea inicial es empezar desde cero, usar un UIViewController, añadir mi propio punto de vista para que, animados por el acceso a la UIScrollViewDelegate métodos.

Puedo hacer todo esto, pero hay una forma con un poco menos de trabajo y más fácil de añadir a varias UITableViews?

Es posible subclase UIRefreshControl y cambiar esta cantidad de cosas en su interior?

InformationsquelleAutor Fogmeister | 2013-07-17

3 Comentarios

  1. 3

    RESPUESTA ACTUALIZADA

    • GitHub actualización del proyecto de Swift 3.1
    • Actualizado QuartzCode a la versión
      1.55.0 (cambios en el código generado)
    • Código refactorizado para utilizar el nuevo refreshControl propiedad (introducido en iOS
      10)
      (también más «swifty» ahora).
    • Incluido @Hanny sugerencia (abajo) (¡gracias!)

    Me gusta el enlace de YouTube que has publicado. 🙂 Buen resultado.

    De referencia: QuartzCode es bastante bueno para la creación de un UIRefreshControl animación desde cero.

    Retirar este pequeño proyecto (GitHub).
    En él, encontrará la QuartzCode archivo de proyecto, así como un ejemplo de cómo integrar con un UITableView.

    Creo que la parte más importante no es el refresh función:

    ///Called everytime refresh control's value changes.
    ///
    ///- parameter sender: The `UIRefreshControl` of this TableView.
    @IBAction func refresh(_ sender: UIRefreshControl) {
    
        animate()
    
        //In this "demo", the refresh will last 5.0 seconds.
        DispatchQueue.main.asyncAfter(deadline: .now() + 5) {
    
            //Do something with the retrieved data...
            //TODO
    
            //... then end the refresh operation.
            self.refreshControl?.endRefreshing()
    
            //Stop animations.
            self.stopAnimations()
        }
    }

    Miren qué fácil es el uso de las animaciones:

    ///Three examples. Uncomment /comment to check all of them.
    func animate() {
    
        //Example 01.
        animateCloudUpAndDown()
    
        //Example 02.
        //animateCloudStrokeWithGradientFill()
    
        //Example 03.
        //animateCloudStrokeWithSolidFill()
    }
    
    //MARK: - Animation Examples
    
    ///Animates the cloud up and down.
    func animateCloudUpAndDown() {
        customUIRefreshControl.addRefreshUpDownAnimation()
    }
    
    ///"Draws" the cloud by make its stroke line gradually visible, then shows
    ///a solid blueish background and then fades everything out.
    func animateCloudStrokeWithGradientFill() {
        customUIRefreshControl.addRefreshGradientAnimation()
    }
    
    ///"Draws" the cloud by make its stroke line gradually visible, then shows
    ///a gradient blueish background and then fades everything out.
    func animateCloudStrokeWithSolidFill() {
        customUIRefreshControl.addRefreshSolidAnimation()
    }

    Saludos!

    • Creo que animate() sería mejor colocado al comienzo de la función de actualización. No hay ningún punto en la animación mientras estamos de desplazamiento a través de los datos.
    • muchas gracias por tu comentario. Estoy de acuerdo. He hecho algunos cambios en el código y se incluye su sugerencia. Echar un vistazo. 😉
  2. 1

    EGOTableViewPullRefresh es impresionante «tire hacia abajo para actualizar» característica. Está disponible en github. Usted puede personalizar sus fotos, comportamiento, etc.
    UIRefreshControl sólo está disponible en iOS 6.0 y versiones posteriores. EGOTableViewPullRefresh puede ser utilizado en iOS 5 y versiones anteriores!

    • Gracias, se ve similar a cómo iba a hacerlo yo mismo 🙂
  3. 0

    tenemos un tutorial con el código de ejemplo en Objective-C y Swift para la implementación de la Costumbre de Tirar la Actualización de los controles. Usted puede encontrar aquí: http://www.jackrabbitmobile.com/design/ios-custom-pull-to-refresh-control/

    Espero que ayude y que me haga saber si usted tiene cualquier pregunta!

    –Anthony

    • Gracias, yo era capaz de conseguir que se trabajan en la final. norton ghost.ser/lN1HejGmlYI muy poco código como era todo acerca de la introducción de las restricciones de diseño de la derecha.

Dejar respuesta

Please enter your comment!
Please enter your name here