2013-02-24 66 views
1

我已经从App Design Vault购买了一些模板,它们在XCode/Objective C中。我想在Xamarin Studio/MonoTouch项目中使用它们,我如何转换它们这样它们可以用于类似于Xamarin's Components Store中某些主题已被转换的方式吗?将xcode目标c主题和模板转换为mono/xamarin

的应用设计模板库如何构造/布局的例子可以从他们的网站上下载,他们有一个免费的模板被称为海洋:http://emitymeapps.us1.list-manage.com/subscribe/post?u=088ecce4e59f7a30e9aa859af&id=e59abf1e54

感谢。

+0

你能以某种方式发布这些主题如何设置?如果它主要是图像文件,那么在MonoTouch中应该很容易使用。 – jonathanpeppers 2013-02-27 23:02:42

+0

@jonathanpeppersless - 我无法发布我购买的模板,但他们有一个名为Ocean的免费模板,它的布局/结构与我购买的完全相同。您可以从这里下载模板http://emitymeapps.us1.list-manage.com/subscribe/post?u=088ecce4e59f7a30e9aa859af&id=e59abf1e54 – Saxman 2013-03-01 01:29:15

回答

2

好吧,如果你在他们的样本项目的AppDelegate.m文件看,有这样的功能:

-(void)customizeiPhoneTheme 
{ 
    [[UIApplication sharedApplication] 
    setStatusBarStyle:UIStatusBarStyleBlackOpaque animated:NO]; 

    UIImage *navBarImage = [[UIImage tallImageNamed:@"menubar.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(5, 15, 5, 15)]; 

    [[UINavigationBar appearance] setBackgroundImage:navBarImage forBarMetrics:UIBarMetricsDefault]; 


    UIImage *barButton = [[UIImage tallImageNamed:@"menubar-button.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 4, 0, 4)]; 

    [[UIBarButtonItem appearance] setBackgroundImage:barButton forState:UIControlStateNormal 
              barMetrics:UIBarMetricsDefault]; 

    UIImage *backButton = [[UIImage tallImageNamed:@"back.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 14, 0, 4)]; 

    [[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButton forState:UIControlStateNormal 
                barMetrics:UIBarMetricsDefault]; 


    UIImage *minImage = [UIImage tallImageNamed:@"ipad-slider-fill"]; 
    UIImage *maxImage = [UIImage tallImageNamed:@"ipad-slider-track.png"]; 
    UIImage *thumbImage = [UIImage tallImageNamed:@"ipad-slider-handle.png"]; 

    [[UISlider appearance] setMaximumTrackImage:maxImage forState:UIControlStateNormal]; 
    [[UISlider appearance] setMinimumTrackImage:minImage forState:UIControlStateNormal]; 
    [[UISlider appearance] setThumbImage:thumbImage forState:UIControlStateNormal]; 
    [[UISlider appearance] setThumbImage:thumbImage forState:UIControlStateHighlighted]; 

    UIImage* tabBarBackground = [UIImage tallImageNamed:@"tabbar.png"]; 
    [[UITabBar appearance] setBackgroundImage:tabBarBackground]; 


    [[UITabBar appearance] setSelectionIndicatorImage:[UIImage tallImageNamed:@"tabbar-active.png"]]; 

} 

你基本上将不得不端口这段代码的MonoTouch和他们的图像添加到你的项目。但它应该是很容易的,这里是翻译成C#的几行代码:

UIImage navBarImage = UIImage.FromFile("menubar.png").CreateResiableImage(new UIEdgeInsets(5, 15, 5, 15)); 

UINavigationBar.Appearance.SetBackgroundImage(navBarImage, UIBarMetrics.Default); 

检查错误,我这样做了我的头顶。我也不确定[UIImage tallImageNamed]是什么,它必须是他们自己的扩展名。我认为你应该只使用UIImage.FromFile

+0

感谢您的指导,我会看看,看看我是否可以转换它们到C#! – Saxman 2013-03-04 21:24:02

+0

您是否设法将其转换?我在/ library和/ theme文件夹中苦苦挣扎了许多代码...其中一些在Xamarin.iOS中没有相同的方法/类...我也买了一个主题但是卡住了它... – 2013-10-16 23:30:16

+0

Did你在你的问题上发布一个问题?在一个新问题中提供一些细节。我一直将Obj-C样本转换为C#,通常只是模糊或缺少新的API。 – jonathanpeppers 2013-10-17 20:52:47