Как я могу изменить свойства UIView, чтобы он мог быть преобразован в UILable или UIImageView? - PullRequest
1 голос
/ 09 марта 2012

То, что я пытаюсь сделать, это то, что я читаю некоторый контент из веб-службы, каждый контент имеет тип контента (текст, изображение, кнопка ...).Я должен динамически отображать содержимое в UIView.Итак, что я пытаюсь сделать, это создать IBoutlet UIView и проверить, является ли тип содержимого текстом, я преобразовываю этот uiview в UILable и отображать текст, если тип содержимого является изображением, я преобразую UIView в UIImageView и т. Д.Мне нужно работать с тем же UIView из файла xib, так как я могу изменить свойства UIView на UILable или UIImageView.

Спасибо

1 Ответ

0 голосов
/ 09 марта 2012

Вы не можете «изменить» 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];
....
...