Pregunta

Estoy tratando de encontrar la manera de tener un punto de vista, vamos a llamarlo ThirdView, deslice hacia arriba desde la parte inferior de la pantalla cuando un usuario hace clic en un botón en particular, SecondView.

gracias.

¿Fue útil?

Solución

Usted desea crear el ThirdView en su SecondView y presentarlo como una vista modal que pasa en el secondView en el constructor. Esta será la forma más fácil de animar en la forma en que le gustaría.

var thirdView = new ThirdView(secondView);
this.PresentModalViewController(thirdView, true);

en su tercer punto de vista, tendrá que llamar a la aprobada en SecondView y llamada

secondView.DismissModalViewControllerAnimated(true);

Espero que esta ayuda,

ChrisNTR

Otros consejos

Este es un ejemplo de trabajo completo. Es un poco más simple que la de arriba ... aunque el ejemplo anterior es lo que solía resolver todo. Gracias a chrisntr.

La mejor cosa acerca de este método es que para una interfaz de usuario personalizada artística (como la que yo estoy construyendo para un juego), no hay ningún elemento de interfaz de usuario off-the-shelf como las barras TabBar, navegación, etc. El más creativo aplicaciones no utilizan material de interfaz de usuario estándar.

en sus main.cs, en su bloque finishedlaunching:

ViewController myUIV = new ViewController();
window.AddSubview(myUIV.View);
window.MakeKeyAndVisble();

Y luego, en un nuevo archivo de código agregue este código:

using System;
using System.Drawing;
using MonoTouch.UIKit;

namespace AnimationTest
{

public class ViewController : UIViewController
{
    UIButton uib = new UIButton(new RectangleF(100,100,40,40));
    public override void ViewDidLoad()
    {       
        Console.WriteLine("UI1");
        this.View.BackgroundColor = UIColor.Blue;
        uib.BackgroundColor = UIColor.White;
        uib.TouchUpInside += delegate {
            Console.WriteLine("Hey!");
            var vc2 = new SecondController();
            PresentModalViewController(vc2, true);
        };
        this.View.AddSubview(uib);
        base.ViewDidLoad();
    }
}

public class SecondController : UIViewController
{
    UIButton uib = new UIButton(new RectangleF(100,100,40,40));
    public override void ViewDidLoad()
    {
        this.View.BackgroundColor = UIColor.White;
        uib.BackgroundColor = UIColor.Red;
        uib.TouchUpInside += delegate {
            this.DismissModalViewControllerAnimated(true);
        };

        this.View.AddSubview(uib);
        base.ViewDidLoad();
    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top