Xamarin에서 tvOS 탐색 모음 사용Working 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.

TvOS 앱에서 탐색 모음으로 작업 하는 가장 쉬운 방법은 iOS Designer를 사용 하 여 앱의 UI에 추가 하는 것입니다.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. Solution Pad에서 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. Properties Pad위젯 탭에서 제목을설정할 수 있습니다.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.

중요

IOS 디자이너에서 UIButton 등의 UI 요소에 TouchUpInside와 같은 이벤트를 할당할 수 있지만, 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. TvOS 사용자 인터페이스 요소에 대 한 이벤트 처리기를 만들 때는 항상 Primary Action 이벤트를 사용 해야 합니다.You should always use the Primary Action event when creating event handlers for tvOS user interface elements.

다음 코드는 ShowFirstHotel, ShowSecondHotelShowThirdHotel의 세 가지 다른 바 Buttonitems에 대 한 이벤트 처리기의 예제를 제공 합니다.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.

스토리 보드 사용에 대 한 자세한 내용은 Hello, tvOS 빠른 시작 가이드를 참조 하세요.For more information on working with Storyboards, please see our Hello, tvOS Quick Start Guide.

요약Summary

이 문서에서는 tvOS 앱 내에서 탐색 모음을 디자인 하 고 사용 하는 방법에 대해 설명 했습니다.This article has covered designing and working with Navigation Bars inside of a Xamarin.tvOS app.