Как использовать UIPageControl в Xamarin C # для iOS

1

В прошлом я работал над титаном, и там было очень просто использовать пейджинговый контроль. Только что начался Xamarin iOS развития и застрял с этим пейджинговым контролем. Не знаете, как его использовать. Я нашел здесь пример. Он работал нормально. Мой вопрос в том, что UIPageControl бесполезен? Я читал здесь, что это так. Имеет ли Xamarin какой-либо контроль, который мог бы работать как прокручиваемый вид Titanium? Пожалуйста, предложите лучший метод, чем приведенный ниже код.

Здесь код

 public override void ViewDidLoad ()
    {
        base.ViewDidLoad ();


        // Perform any additional setup after loading the view, typically from a nib.
        createAndAddViewsToPagerControl ();
    }

    void createAndAddViewsToPagerControl ()
    {
        try {
            int pageCount = PagerControlMain.Pages;
            Console.WriteLine ("Pages Count in Page Control" + pageCount);


            List<UIColor> _colList = new List<UIColor> {
                UIColor.Red,
                UIColor.Green,
                UIColor.Blue,
                UIColor.Yellow
            };

            int i = 0;
            for (i = 0; i < pageCount; i++) {
                UILabel label = new UILabel ();
                RectangleF rectangle = new RectangleF ();
                rectangle.X = (this.PagerScrollView.Frame.Width * i) + 50;
                rectangle.Y = 0;
                rectangle.Size = this.PagerScrollView.Frame.Size;
                label.Frame = rectangle;
                label.Text = i.ToString ();
                label.TextColor = _colList [i];

                this.PagerScrollView.AddSubview (label);
            }

            this.PagerControlMain.Pages = pageCount;
            PagerScrollView.BackgroundColor = UIColor.Gray;
            PagerScrollView.ContentSize = new SizeF (PagerScrollView.Frame.Width * i, PagerScrollView.Frame.Height);
            this.PagerScrollView.Scrolled += ScrolledEvent;


        } catch (Exception ex) {
            Console.WriteLine ("Exception in PagerControl : " + ex);
        }
    }

    private void ScrolledEvent (object sender, EventArgs e)
    {
        this.PagerControlMain.CurrentPage = 
            (int)System.Math.Floor (this.PagerScrollView.ContentOffset.X
        / this.PagerScrollView.Frame.Size.Width);

        Console.WriteLine ("Scroll Event Fired");
    }

    partial void PagerControlMain_ValueChanged (UIPageControl sender)
    {
        Console.WriteLine ("Current Page " + sender.CurrentPage);
        //throw new NotImplementedException ();
    }
Теги:
xamarin.ios
uipagecontrol
xamarin-studio

1 ответ

2

Это то, что вы хотите?

Xamarin: UIPageControl и UIScrollView для внешнего вида iOS

вы должны добавить это в свой метод createAndAddViewsToPagerControl():

PagerScrollView.ScrollEnabled = true;
PagerScrollView.PagingEnabled = true;
  • 0
    Добавьте соответствующие части здесь, в случае, если исходная страница исчезнет;)
  • 0
    Пожалуйста, напишите код, который поможет, если ссылка будет изменена

Ещё вопросы

Сообщество Overcoder
Наверх
Меню