UITableView с фиксированным фоном изображения - PullRequest
1 голос
/ 12 сентября 2010

Извините, но я не нашел четкого ответа на этот вопрос.У меня есть приложение для iphone с панелью вкладок и UINavigationController на каждой вкладке.Интерфейс построен с помощью Interface Builder, и на первой вкладке есть UITableView.Я подготовил xib с основным видом (A), содержащим фон таблицы (T) и изображение (IMG) (изображение как подпредставление основного вида).Позже я назначил UITableViewController владельцем.Здесь начинаются проблемы.В IB, если я подключаю представление к AI, появляется ошибка времени выполнения, сообщающая, что контроллер не может найти таблицу.Если я подключаю представление контроллера к T, все работает нормально, за исключением того, что IMG не отображается.

Единственное решение, которое я нашел, - это создать новый xib, содержащий A и IMG, с UIViewController в качестве владельца.Затем создайте xib, содержащий только T и UITableViewController в качестве владельца, правильно подключенного к T. Затем в viewDidLoad UIViewController:

iptc = [[IPPlantsTableViewController alloc] initWithNibName:@"IPPlantsView" bundle:[NSBundle mainBundle]];

iptc.navigator=self.navigationController; // <-- need this

[self.view addSubview:iptc.view];

И это работает, за исключением того, что табличное представление ничего не знает о navigationController,поэтому механизм подробного просмотра не работает, если я не установил для него свойство в UITableViewController.Я также столкнулся с некоторыми другими проблемами, например, вся логика добавления / удаления / создания строк в таблицу должна быть обработана в UIViewController и отправлена ​​в UITableViewController.

Есть ли другой способ иметь фиксированное изображение ввид таблицы?

Ответы [ 2 ]

2 голосов
/ 12 сентября 2010

Мммм

Я буду честен, я ненавижу Интерфейсный Разработчик ;-), поэтому я не могу помочь вам в этом.

Но чтобы установить фиксированное изображение на фоне UITableView, вы должны: - установить цвет фона UITableView в [UIColor clearColor] (и, возможно, фон ячейки тоже) - установить и uiimageview под представлением uitableview, которое содержит изображение:)

Таким образом, это должно работать.

Но без проекта xcode я не смогу помочь тебе больше ^^

Удачи

1 голос
/ 12 сентября 2010

UITableViewController - это удобный класс; вы также можете просто использовать UIViewController и реализовать правильные обратные вызовы.

В OS 3.2+ вы можете просто установить UITableView.backgroundView. Если IB не позволяет вам сделать это, вы можете сделать это в коде.

В качестве альтернативы, вы можете по-разному подключать розетки view и tableView, если только tableView не делает (UITableView*)self.view.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...