我是目标C的新手,我有一个基于视图的应用程序,它与Web服务进行通信并重新获取xml,解析它并将其竞争映射到适当的视图组件(例如,如果日期显示带有datepicker的问题,如果问题有2个值用分段控件显示它,如果有更多用pickerview..etc)所以它是一个动态问题,有许多页面填充了多个组件。
如何在运行时将xml响应映射到相关的UI视图组件?我希望尽可能使代码成为面向对象,如果在我的视图控制器类中没有太多,但是它应该只接收一个让我们说“uiview对象”填充必要的视图组件,它只会显示它。我有一个UiScrollView,想要实时添加新的不同的approprite Uicomponents(Picker,textbox,label ..),我该怎么做?我认为在Interface构建器中我只需要放置scrollview,其余的将在代码中?并在这里使用scrollview一个不错的选择?感谢。
答案 0 :(得分:1)
[self.view addSubView: imageview];
[self.scrollView addsubview:pickerview];
[self.view addSubView:scrollview];
同样明智的自定义视图可能像uibutton,textfield,textview,imageview
答案 1 :(得分:1)
你不能没有UIScrollView。您必须定义要注入视图的元素集,并为接收数据处理程序中接收的xml数据创建case语句。
如果您是Objective-C(即CocoaTouch)的新手,并且如果您的民意调查足够严格,也许您可以尝试在代码中设置不同的视图,并且您从网络中检索的数据将决定哪个视图显示。
另一个技巧是将UIKit元素子类化为从XML节点初始化它们。