2016-08-30 6 views
0

MasterDetail 페이지가 있고 세부 정보가 Naviagtion 페이지이며 Master에 Listview가 있습니다. 내가 사용 헤더 바 배경 색상과 텍스트의 색상을 변경하고있어Xamarin Forms iOS - Master Bar가 아닌 Detail에서 Carrier Bar 배경색이 변경됩니다.

((NavigationPage)Detail).BarBackgroundColor = Color.Navy; 
((NavigationPage)Detail).BarTextColor = Color.White; 

이것은 마스터 및 상세 두 섹션 모두 흰색으로 캐리어 바 텍스트를 변경,하지만 본문 구역에 캐리어 바 배경을 변경, 마스터는 여전히 흰색/투명이므로 텍스트가 더 이상 보이지 않습니다. 이거 버그 야? 막대 변수가 동일하게 작동 할 것으로 기대합니다. 탐색 변수 페이지는 적용된 페이지이므로 탐색 페이지에서만 작동합니다.

note- StatusBarStyle을 LightContent로 설정하지 않으면 콘텐츠 페이지의 상태 표시 줄이 흰색 배경에 검은 색 텍스트로 표시됩니다.

iOS Carrier Bar

* 편집 - CarrierBarText 색상 만 탐색 페이지의 변경입니다 - 나는 다음과 같이 기대 : 내가 대신이 예상되는 동작을 생각 enter image description here

답변

1

을 곤충. iOS 상태 표시 줄은 반투명이지만 세부 정보 페이지의 탐색 표시 줄은 창 위쪽으로 확장되어 상태 표시 줄에 색상이있는 것처럼 보입니다.

또한 마스터 페이지는 창 상단까지 확장되어 있으므로보기에 밀어 넣으면 최상위 20 픽셀이 상태 표시 줄 아래에 표시됩니다.이 경우에는 페이지의 배경입니다. 페이지의 배경을 네이비 (Navy)로 변경하면 네비게이션 바가 더 일관성있게 보이게됩니다.

+0

그러나 마스터 페이지 또는 전체 마스터의 상태 표시 줄 텍스트 색은 변경하지 않았습니다./세부 정보 페이지. 이 코드는 세부 정보 페이지 인 탐색 페이지의 텍스트 색과 배경색을 설정합니다. – Christine

0

Xamarin.Forms에서 iOS 상태 표시 줄 색을 변경하는 유일한 방법은 BarTextColorNavigationPage으로 설정하는 것입니다. Detail 페이지는 NavigationPage이어야하며 BarTextColor 속성을 설정할 수 있습니다. Master 페이지가 NavigationPage이 아니기 때문에 BarTextColor 속성이 없으며 iOS 상태 표시 줄 색을 변경할 수 없습니다.

내 추천은 iOS 상태 표시 줄의 흰색 텍스트가 여전히 보이도록 Master 페이지의 배경색을 어두운 색 (네이비 블루)으로 변경하는 것이 좋습니다. 당신은 또한 당신의 NavigationPage에 BarTextColor = Color.White를 설정해야합니다 Xamarin.forms를 사용하는 경우 http://motzcod.es/post/110755300272/ios-tip-change-status-bar-icon-text-colors

:

제임스 Montemago는 아이폰 OS 상태 표시 줄 색상 설정에 대해 이야기 훌륭한 블로그 게시물을했다! 또한 info.plist로 이동하여 "컨트롤러 기반 상태 표시 줄보기"를 설정하십시오. No

+0

마스터 페이지의 배경색을 변경해도 목록의 색이 변경되지 않으므로 아무 작업도 수행하지 않습니다. 목록의 색상을 변경하고 싶지 않습니다. 저는 James의 게시물에 익숙하며 그가 추천 한 모든 것을 해냈습니다. 그러나이 문제를 다루는 것은 없습니다. – Christine

+0

나는 Xamarin.Forms에있는 MasterDetailPage에 대한 또 다른 비슷한 질문에 대답했다 : http://stackoverflow.com/a/39863909/5953643 –

+0

미안하지만 그건 내 질문과 관련이 없다.세부 정보 페이지가 탐색 페이지 여야한다는 요구 사항이 없음을 지적 하긴하지만 MasterDetail 페이지의 작동 방식을 완전히 이해합니다. "세부 정보 페이지는 TabbedPage, NavigationPage 및 ContentPage 인스턴스로만 채워야합니다." 내 문제는 NavigationPage에만 BarTextColor를 설정하고 있지만 아직 탐색 페이지가 아닌 마스터 페이지에서 색상이 변경되고 있습니다. – Christine