Приклеивание изображения к началу UITableView

#iphone #xcode

#iPhone #xcode

Вопрос:

У меня есть вопрос о разработке iPhone:

Как я могу поместить изображение над сгруппированным UITableView, которое прокручивается вместе с представлением таблицы? (Изображение должно быть прикреплено к верхней части табличного представления, поэтому при прокрутке табличного представления изображение должно прокручиваться за пределы экрана вместе с табличным представлением. Изображение НЕ является вложенным представлением с фиксированной позицией, как в аналогичных публикациях)

Я попытался установить backgroundColor с помощью colorWithPatternImage и добавить EdgeInsets, чтобы сдвинуть представление таблицы вниз, но затем изображение отображается без прокрутки за представлением таблицы, А изображение отображается также за каждым разделом в представлении таблицы (прокрутка).

Единственное решение, которое я придумал, — позволить cellForRowAtIndexPath возвращать изображение для первого раздела в табличном представлении, хотя это похоже на взлом.

Есть ли правильный способ сделать это?

Комментарии:

1. Эта проблема решена. Но кто-нибудь может объяснить, почему TableView.backgroundColor = …colorWithPatternImage… отображает изображение в фиксированном положении за представлением таблицы, а затем повторяет изображение для каждого раздела в таблице? (Я даже думаю, что телефон и симулятор давали здесь очень разные визуальные эффекты)

2. Я полагаю, что инженеры Apple разработали его таким образом, чтобы сократить операции компоновки — прозрачность для прокрутки обходится дорого, поэтому они оптимизировали рисунок с вертикальными полосами, что позволяет сделать фоновые виды разделов непрозрачными (поскольку они выглядят точно так же, как фон за ними).

Ответ №1:

Самый простой способ поместить изображение в начало табличного представления — установить свойство табличного представления tableHeaderView с экземпляром UIImageView , содержащим изображение.

Комментарии:

1. Еще одна вещь: теперь представление таблицы начинается непосредственно под изображением заголовка. Как я могу заставить представление таблицы начинаться примерно на полпути вниз по изображению заголовка (чтобы градиент изображения заголовка продолжался по бокам табличного представления)?

Ответ №2:

Вы можете настроить свой - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section . Определите раздел 0 и добавьте изображение в это настраиваемое представление с заголовком вашего раздела.

ваша реализация выглядит так:

 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    if(section == 0) {
         // init your view
         // Add Image in view
         // Add Header for section manage frames
    }
    else {
         // Add Header for section manage frames
    }
}
  

Надеюсь, это помогло