iOS 관련 서식 추가

iOS 관련 서식을 설정하는 한 가지 방법은 컨트롤에 대한 사용자 지정 렌더러를 만들고 각 플랫폼에 대해 플랫폼별 스타일과 색을 설정하는 것입니다.

iOS 앱의 Xamarin.Forms 모양을 제어하는 다른 옵션은 다음과 같습니다.

이러한 대안은 아래에 설명되어 있습니다.

Info.plist 사용자 지정

Info.plist 파일을 사용하면 상태 표시줄이 표시되는 방법(및 여부)과 같은 iOS 애플리케이션 렌더러의 일부 측면을 구성할 수 있습니다.

예를 들어 다음 코드를 사용하여 모든 플랫폼에서 탐색 모음 색 및 텍스트 색을 설정합니다.

var nav = new NavigationPage (new TodoListPage ());
nav.BarBackgroundColor = Color.FromHex("91CA47");
nav.BarTextColor = Color.White;

결과는 아래 화면 코드 조각에 표시됩니다. 상태 막대 항목은 검은색입니다(플랫폼별 기능이므로 설정할 Xamarin.Forms 수 없음).

스크린샷은 검은색 텍스트의 상태 막대 항목이 있는 iOS 테마를 보여줍니다.

이상적으로 상태 막대는 흰색입니다. iOS 프로젝트에서 직접 수행할 수 있는 작업입니다. Info.plist다음 항목을 추가하여 상태 막대를 강제로 흰색으로 만듭니다.

iOS Info.plist 항목

또는 다음을 포함하도록 해당 Info.plist 파일을 직접 편집합니다.

<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

이제 앱이 실행되면 탐색 모음이 녹색이고 텍스트가 흰색(서식 지정으로 인해Xamarin.Forms)이고 iOS 관련 구성 덕분에 상태 막대 텍스트도 흰색입니다.

스크린샷은 흰색 텍스트의 상태 막대 항목이 있는 iOS 테마를 보여줍니다.

UIAppearance API

API는 사용자 지정 렌더러를 만들지 않고도 많은 iOS 컨트롤에서 시각적 속성을 설정하는 데 사용할 수 있습니다.UIAppearance

AppDelegate.csFinishedLaunching 메서드에 한 줄의 코드를 추가하면 해당 속성을 사용하여 Appearance 지정된 형식의 모든 컨트롤에 스타일을 지정할 수 있습니다. 다음 코드에는 탭 표시줄 및 스위치 컨트롤을 전역적으로 스타일링하는 두 가지 예제가 포함되어 있습니다.

iOS 프로젝트의 AppDelegate.cs

public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
  // tab bar
    UITabBar.Appearance.SelectedImageTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green
  // switch
    UISwitch.Appearance.OnTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green
    // required Xamarin.Forms code
    Forms.Init ();
    LoadApplication (new App ());
    return base.FinishedLaunching (app, options);
}

UITabBar

기본적으로 의 선택한 탭 표시줄 아이콘 TabbedPage 는 파란색입니다.

TabbedPage의 기본 iOS 탭 표시줄 아이콘

이 동작을 변경하려면 속성을 설정합니다.UITabBar.Appearance

UITabBar.Appearance.SelectedImageTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green

그러면 선택한 탭이 녹색으로 표시됩니다.

TabbedPage의 녹색 iOS 탭 표시줄 아이콘

이 API를 사용하면 코드가 거의 없는 iOS의 Xamarin.FormsTabbedPage 모양을 사용자 지정할 수 있습니다. 사용자 지정 렌더러를 사용하여 탭의 특정 글꼴을 설정하는 방법에 대한 자세한 내용은 탭 사용자 지정 레시피를 참조하세요.

UISwitch

컨트롤은 Switch 쉽게 스타일을 지정할 수 있는 또 다른 예입니다.

UISwitch.Appearance.OnTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green

이 두 화면 캡처는 왼쪽의 기본 UISwitch 컨트롤과 오른쪽에 사용자 지정된 버전(설정 Appearance)을 표시합니다.

기본 UISwitch 색사용자 지정된 UISwitch 색

기타 컨트롤

많은 iOS 사용자 인터페이스 컨트롤은 API를 사용하여 UIAppearance 기본 색 및 기타 특성을 설정할 수 있습니다.