TTDefaultStyleSheet에서 상속받은 새 클래스를 만들었습니다.Three20 및 MonoTouch : TTTabStrip 변경 색상이 작동하지 않습니다.
public class BlackStyleSheet : TTDefaultStyleSheet
{
public BlackStyleSheet() : base()
{
Console.WriteLine("BlackStyleSheet created.");
}
public override UIColor TabBarTintColor
{
get
{
Console.WriteLine("BlackStyleSheet.TabBarTintColor returned.");
return UIColor.Black;
}
}
[Export ("tabTintColor")]
public override UIColor TabTintColor
{
get
{
Console.WriteLine("BlackStyleSheet.TabTintColor returned.");
return UIColor.Black;
}
}
}
그리고이 맞춤 스타일 시트는 내 FinishedLaunching 메서드에서 기본값으로 설정합니다.
public override void FinishedLaunching (UIApplication application)
{
Three20.TTStyleSheet.GlobalStyleSheet = new BlackStyleSheet();
Three20.TTDefaultStyleSheet.GlobalStyleSheet = new BlackStyleSheet();
Console.WriteLine("Three20 style sheet set.");
}
그럼, 난 내 자신의 사용자 정의의 UIViewController의 viewDidLoad에() 메소드 내에서 실제 TTTabStrip 및 TTTabItem 요소를 만들 수 있습니다. TTTabItem 개체는 메서드 수준 대신 클래스 수준에서 선언됩니다. TTDefaultStyleSheet.GlobalStyleSheet 속성이 새 사용자 지정 스타일 시트로 설정
tab1 = new TTTabItem("1");
tab2 = new TTTabItem("2");
tab3 = new TTTabItem("3");
TabStrip = new TTTabStrip();
TabStrip.Frame = new RectangleF(0,0,View.Frame.Width, 44);
TabStrip.TabItems = NSArray.FromNSObjects(tab1,tab2,tab3);
TabStrip.SelectedTabIndex = 0;
View.AddSubview(TabStrip);
, 응용 프로그램이 충돌합니다. 이 속성 설정을 제거하면 앱이 완벽하게 실행되지만 탭 스트립은 회색으로 유지됩니다.
내가 읽은 모든 포럼 (아무도 MonoTouch에만 해당하지 않음)에서 모두 자신 만의 스타일 시트를 만든 다음 글로벌 스타일 시트로 설정하면됩니다. 하지만 MonoTouch로는이 기능이 작동하지 않는 것 같습니다.
누구에게 아이디어가 있습니까?
내가 목표 - C와 엑스 코드에서 예를 시도하고 나는이이 방법이 작업을 수행 확인할 수 있습니다,존 K.
난 그냥 당신이 이제까지 그것을 해결 않았다,이 문제로 자신을 달렸다? – Eric