2014-01-08 41 views
1

我想在IOS(objective-c)中重现WPF中的声明式编程。将NSString转换为Objective-C控件

在WPF我可以使用像这样的控制:

<MediaElement Name="myVideo" Source="C:\WINDOWS\system32\oobe\images\ intro.wmv" Width="450" Height="400" > 

确切的代码将是:

MediaElement me = new MediaElement(); 
me.Id = "myVideo"; 
me.Height=450; 
... 

可这在客观-C(IOS 7)类似的方式来实现?请举例说明如何实现这一点。

有没有实现,我可以在IOS7使用复合模式的任何图书馆吗?

编辑:这是一个真正的问题,我想实现这个上一个真正的项目,如果是可以做到的。

编辑2:我想将NSString转换为xib文件并将其作为控件显示在View中?

*编辑3:

我有一个从服务器JSON格式这样的回应:在实现文件内

{ 
    "alignment" : "center", 
    "text" : "Just a text", 
    "type" : "label", 
    "textColor" : "black", 
    "width" : "300", 
    "height" : "44", 
    "backgroundColor" : "white", 
    "fontName" : "Helvetica", 
    "fontSize" : "15", 
    "x" : "75", 
    "y" : "200" 
} 

被解释为:

UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(75, 200, 300, 44)]; 
label.backgroundColor = [UIColor whiteColor]; 
label.font = [UIFont fontWithName:@"Helvetica" size:15]; 
label.text = @"Just a text"; 
label.textAlignment = NSTextAlignmentCenter; 
label.textColor = [UIColor blackColor]; 
[self.view addSubview:label]; 
+0

检查更新,请。我已经阅读过上面的文档,但没有帮助。 –

+0

我想使用声明性编程来动态生成我的用户界面http://msdn.microsoft.com/en-us/library/vstudio/hh297100(v=vs.100).aspx –

+0

如果你可以给我证明与链接支持你,这将是非常好的。谢谢。 –

回答

2

根据你的问题的标题似乎你正在寻找一种方法来“采取一个字符串,并使其中的一个对象”。

这是可能的。我猜你已经知道如何解析字符串了。

您可以随时创建对象,如果你有类的名称。

id newObject = [[NSClassFromString(@"classname") alloc] init]; 

键将被设置的属性的名称。

而且,如果类是KVC compliant,你可以,如果你是设置dicionary项设置其属性。

[newObject setValue:@"John Doe" forKey:@"name"]; 

其中@“John Doe”和@“name”是原始字符串的一部分 - 通过解析提取。

增加对于Q EDIT2:

如果你打算做可能被随时创建和适当厦门国际银行文件,那么你的运气了用自己的运行时间厦门国际银行文件。编译“应用程序包中的应用程序随附的xib文件”(ibtool)。

你可以做的是创建自己的“对象工厂”充分利用和解析文本文件,并使用它作为一个蓝本,创建对象(或多个)运行。如果结果应该是某种UIView,您甚至可以使用XML或JSON格式来定义视图间关系。

请注意,您不能使用链接过程中遗漏的类。所以你将不得不使用这个“对象工厂”来创建所有你想要创建的类的虚拟实例。

编辑:但这也听起来像你的应用程序可能被拒绝,因为你的应用程序将能够以某种方式“下载新代码”。

从应用程序商店审查指南:

2.7应用程序以任何方式或形式下载代码会被拒绝

+0

我已经更新了这个问题。 –

+0

它是否说它HIG“下载”新代码prohitbited? –

+0

不在HIG中,但在App Store评论指南中。我并不是说你的应用会被拒绝,但是这种funcionality类型违反了这个规则。 –