Работа с tvOS панели навигации в XamarinWorking with tvOS Navigation Bars in Xamarin

Панели навигации можно добавить в верхнюю часть представления, чтобы отобразить заголовок и необязательно кнопок панели навигации.Navigation Bars can be added to the top of views to display a Title and optional Navigation Bar Buttons. Обычно они используются, когда пользователь переходит с главной страницы, как таблицы представления, коллекции или чтобы вложенное представление, с подробными сведениями выбранного элемента меню.Typically they are used when the user has navigated from a main page, like a Table View, Collection or Menu to a subview showing the details of the selected item.

В дополнение к заголовку (которое отображается в центре) панелей навигации может содержать один или несколько кнопок панели навигации (UIBarButtonItem) на левой и правой стороны панели.In addition to the Title (that is displayed in the center), Navigation Bars can contain one or more Navigation Bar Buttons (UIBarButtonItem) on the left and right sides of the bar.

Важно!

Панели переходов полностью прозрачны по умолчанию.Navigation Bars are totally transparent by default. Чтобы обеспечить содержимое панели навигации для чтения содержимого под ним следует соблюдать осторожность.Care should be taken to ensure that the content of the Navigation Bar stays readable over the content underneath it. Например, когда в представлении таблицы или коллекции прокрутка содержимого под ним.For example, when content in a Table View or Collection scrolls under it.

Для работы с панели навигации в приложении Xamarin.tvOS проще всего добавить их в пользовательском Интерфейсе приложения с помощью конструктора iOS.The easiest way to work with Navigation Bars in a Xamarin.tvOS app is to add them to the app's UI using the iOS Designer.

  1. В панели решения, дважды щелкните Main.storyboard и откройте его для редактирования.In the Solution Pad, double-click Main.storyboard file and open it for editing.

  2. Перетащите панель навигации из элементов и поместите его на представление в верхней части экрана:Drag a Navigation Bar from the Toolbox and drop it on the View at the top of the screen:

  3. Дважды щелкните панель навигации выбора элемент навигации.Double-click on the Navigation Bar to select to Navigation Item. В мини-приложение вкладке панели свойств, можно задать Title:In the Widget tab of the Properties Pad, you can set the Title:

  4. Затем можно добавить один или несколько элементы панели кнопку на любом конце панели:Next, you can add one or more Bar Button Items to either end of the bar:

  5. Наконец, доступ к сети элементы панели кнопку на действия в события вкладке обозревателе свойств:Finally, wire-up the Bar Button Items to Actions in the Events tab of the Properties Explorer:

  6. Сохраните изменения.Save your changes.

Важно!

Хотя можно назначить события, такие как TouchUpInside элемента пользовательского интерфейса (например, UIButton) в конструкторе iOS, он никогда не вызывается так, как Apple TV нет на сенсорном экране или поддерживает события касания.While it is possible to assign events such as TouchUpInside to a UI element (such as a UIButton) in the iOS Designer, it will never be called because Apple TV doesn't have a touch screen or support touch events. Следует всегда использовать Primary Action событие при создании обработчиков событий для tvOS элементы пользовательского интерфейса.You should always use the Primary Action event when creating event handlers for tvOS user interface elements.

Ниже приведен пример обработчики событий на трех разных BarButtonItems: ShowFirstHotel, ShowSecondHotel, и ShowThirdHotel.The following code gives an example of events handlers on three different BarButtonItems: ShowFirstHotel, ShowSecondHotel, and ShowThirdHotel. При выборе каждого элемента фоновое изображение HotelImage изменяется.When each item is clicked, the background image HotelImage is changed. Он настраивается в контроллер представления (пример ViewController.cs) файл:This is edited in the View Controller (example ViewController.cs) file:

using System;
using Foundation;
using UIKit;

namespace MySingleView
{
    public partial class ViewController : UIViewController
    {
        #region Constructors
        public ViewController (IntPtr handle) : base (handle)
        {
        }
        #endregion

        #region Override Methods
        public override void ViewDidLoad ()
        {
            base.ViewDidLoad ();
            // Perform any additional setup after loading the view, typically from a nib.
        }

        public override void DidReceiveMemoryWarning ()
        {
            base.DidReceiveMemoryWarning ();
            // Release any cached data, images, etc that aren't in use.
        }
        #endregion

        #region Custom Actions
        partial void ShowFirstHotel (UIBarButtonItem sender) {
            // Change background image
            HotelImage.Image = UIImage.FromFile("Motel01.jpg");
        }

        partial void ShowSecondHotel (UIBarButtonItem sender) {
            // Change background image
            HotelImage.Image = UIImage.FromFile("Motel02.jpg");
        }

        partial void ShowThirdHotel (UIBarButtonItem sender) {
            // Change background image
            HotelImage.Image = UIImage.FromFile("Motel03.jpg");
        }
        #endregion
    }
}

Пока кнопки Enabled свойство true и он не рассматривается другим элементом управления или представлении, его можно сделать элемент с фокусом, с помощью удаленного Siri.As long as a button's Enabled property is true and it is not covered by another control or view, it can be made the in-focus item using the Siri Remote.

Дополнительные сведения о работе с раскадровками, см. в разделе наших по Tvos краткое руководство по.For more information on working with Storyboards, please see our Hello, tvOS Quick Start Guide.

СводкаSummary

В этой статье подробно рассматривается проектирование и работать с панели переходов внутри приложения Xamarin.tvOS.This article has covered designing and working with Navigation Bars inside of a Xamarin.tvOS app.