Как анимировать вид, чтобы летать снизу экрана? - PullRequest
1 голос
/ 19 января 2010

Я пытаюсь выяснить, как получить представление, назовем его ThirdView, скользя вверх от нижней части экрана, когда пользователь нажимает определенную кнопку на SecondView.

спасибо.

Ответы [ 2 ]

4 голосов
/ 19 января 2010

Вы захотите создать ThirdView в вашем SecondView и представить его как модальное представление, передавая secondView в конструкторе.Это будет самый простой способ анимировать его так, как вы хотели бы.

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

в третьем представлении, вы захотите вызвать переданное в SecondView и вызвать

secondView.DismissModalViewControllerAnimated(true);

Надеюсь, это поможет,

ChrisNTR

1 голос
/ 09 июля 2011

Вот полный рабочий пример. Это немного проще, чем приведенный выше ... хотя в приведенном выше примере я все выяснил. Благодаря chrisntr.

Самая крутая вещь в этом методе заключается в том, что для художественного пользовательского интерфейса (например, того, который я создаю для игры) нет готовых элементов пользовательского интерфейса, таких как TabBar, панели навигации и т. Д. приложения не используют стандартный интерфейс.

в вашем main.cs, в вашем готовом блоке запуска:

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

А затем в новый файл кода добавьте этот код:

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();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...