iOS 관련 서식 추가
iOS 관련 서식을 설정하는 한 가지 방법은 컨트롤에 대한 사용자 지정 렌더러를 만들고 각 플랫폼에 대해 플랫폼별 스타일과 색을 설정하는 것입니다.
iOS 앱의 Xamarin.Forms 모양을 제어하는 다른 옵션은 다음과 같습니다.
- Info.plist에서 표시 옵션 구성
- API를
UIAppearance
통해 컨트롤 스타일 설정
이러한 대안은 아래에 설명되어 있습니다.
Info.plist 사용자 지정
Info.plist 파일을 사용하면 상태 표시줄이 표시되는 방법(및 여부)과 같은 iOS 애플리케이션 렌더러의 일부 측면을 구성할 수 있습니다.
예를 들어 다음 코드를 사용하여 모든 플랫폼에서 탐색 모음 색 및 텍스트 색을 설정합니다.
var nav = new NavigationPage (new TodoListPage ());
nav.BarBackgroundColor = Color.FromHex("91CA47");
nav.BarTextColor = Color.White;
결과는 아래 화면 코드 조각에 표시됩니다. 상태 표시줄 항목은 검은색입니다(플랫폼별 기능이므로 내에서 Xamarin.Forms 설정할 수 없음).
이상적으로 상태 표시줄은 흰색입니다. iOS 프로젝트에서 직접 수행할 수 있는 작업입니다. Info.plist에 다음 항목을 추가하여 상태 표시줄을 흰색으로 적용합니다.
또는 다음을 포함하도록 해당 Info.plist 파일을 직접 편집합니다.
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
이제 앱이 실행되면 탐색 모음이 녹색이고 텍스트가 흰색(서식 지정으로 인해 Xamarin.Forms ) 이고 iOS 관련 구성 덕분에 상태 표시줄 텍스트도 흰색입니다.
UIAppearance API
API는 사용자 지정 렌더러를 만들지 않고도 많은 iOS 컨트롤에서 시각적 속성을 설정하는 데 사용할 수 있습니다.UIAppearance
AppDelegate.cs FinishedLaunching
메서드에 한 줄의 코드를 추가하면 해당 속성을 사용하여 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
는 파란색입니다.
이 동작을 변경하려면 속성을 설정합니다.UITabBar.Appearance
UITabBar.Appearance.SelectedImageTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green
그러면 선택한 탭이 녹색으로 표시됩니다.
이 API를 사용하면 코드가 거의 없는 iOS의 Xamarin.FormsTabbedPage
모양을 사용자 지정할 수 있습니다. 사용자 지정 렌더러를 사용하여 탭의 특정 글꼴을 설정하는 방법에 대한 자세한 내용은 탭 사용자 지정 레시피를 참조하세요.
UISwitch
컨트롤은 Switch
쉽게 스타일을 지정할 수 있는 또 다른 예입니다.
UISwitch.Appearance.OnTintColor = UIColor.FromRGB(0x91, 0xCA, 0x47); // green
이 두 화면 캡처는 왼쪽의 기본 UISwitch
컨트롤과 오른쪽에 사용자 지정된 버전(설정 Appearance
)을 표시합니다.
기타 컨트롤
많은 iOS 사용자 인터페이스 컨트롤은 API를 사용하여 UIAppearance
기본 색 및 기타 특성을 설정할 수 있습니다.