【问题标题】:Three20 & MonoTouch: TTTabStrip change color doesn't workThree20 和 MonoTouch:TTTabStrip 更改颜色不起作用
【发布时间】:2012-04-27 00:53:14
【问题描述】:

我创建了一个继承自 TTDefaultStyleSheet 的新类。

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 对象是在类级别而不是方法级别声明的。

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);

当 TTDefaultStyleSheet.GlobalStyleSheet 属性设置为新的自定义样式表时,应用程序崩溃。删除此属性设置后,应用程序可以完美运行,但选项卡条仍为灰色。

在我读过的所有论坛中(似乎没有一个是特定于 MonoTouch 的),它们都表明创建自己的样式表,然后将其设置为全局样式表是可行的方法。但这似乎不适用于 MonoTouch。

有人有什么想法吗?

谢谢,

约翰·K。

【问题讨论】:

  • 我自己也遇到了这个问题,你解决了吗?

标签: xamarin.ios three20


【解决方案1】:

我在 XCode 中使用 Objective-C 尝试了您的示例,我可以确认这种方法确实有效。我自己也尝试了 MonoTouch,并看到了与您报告的结果相同的结果。

过去我在 Three20 绑定代码中发现了几个问题,这些问题似乎会导致这样的中止。您可以尝试修复现有的绑定代码或仅从 Three20 手动创建您需要的绑定。

http://docs.xamarin.com/ios/advanced_topics/binding_objective-c_types

【讨论】:

  • 我也看到了同样的崩溃,如果解决了,希望有人会在这里发布。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-13
  • 1970-01-01
  • 2015-10-24
  • 1970-01-01
  • 1970-01-01
  • 2022-08-06
  • 1970-01-01
相关资源
最近更新 更多