我想要做的是从网络服务中读取一些内容,每个内容都有内容类型(文字,图片,按钮......)。 我必须动态显示UIView中的内容。所以我想要做的是创建一个IBoutlet UIView并检查内容类型是否是一个文本我将此uiview转换为UILable并显示文本,如果内容类型是图像我将UIView转换为UIImageView等。 。 我需要从xib文件处理相同的UIView,所以我如何将UIView的属性更改为UILable或UIImageView。
谢谢
答案 0 :(得分:0)
你不能“改变”UIView是不同的东西。
我建议您在视图中动态添加子视图:
UIView *newView = nil;
switch (content type) {
case 0: // text
newView = [[UILabel alloc] init];
((UILabel*)newView).text = @"someText";
[newView sizeToFit];
case 1: // button
{
UIButton *btn = [UIButton buttonWithType:...];
[btn setTititle:@"Ttile" forControlState:UIControlStateNormal]; // assign all needed properties
...
newView = btn;
}
case 2:
....
}
newView.frame = ... // calculate Frame using previously created content (e.g. remember y offset and add bounds.size.height after every iteration)
[self.view addSubView:newView];
....