Форум программистов, компьютерный форум, киберфорум
Наши страницы

В одной ячейке таблицы несколько повторяющихся элементов - Программирование iOS

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Prototype Cell http://www.cyberforum.ru/ios-dev/thread1412275.html
Здравствуйте!!!я не сильно разбираюсь в Obj-C, точнее начал недавно и такой вопрос: Есть NavigationViewController и в нем Prototype cells, как мне сделать так, чтобы когда я нажимал на Prototype...
Программирование iOS Отдельный observer для каждой ячейки Здравствуйте. В ячейках таблицы имеются аудиофайлы с кнопкой для запуска воспроизведения этого файла. Когда запускаю первый трек для проигрывания все нормально, айдио воспроизводится, таймер времени... http://www.cyberforum.ru/ios-dev/thread1411159.html
Где обрабатывать нажатие кнопки Программирование iOS
Здравствуйте. Возник такой вопрос, где обрабатывать событие нажатия кнопки, которая лежит внутри ячейки (кастомной)? Вроде как логично, что бы обработчик нажатия кнопки в ячейке обрабатывала сама...
Программирование iOS Индикатор загрузки аудио
Вечер добрый. В вконтакте или в другом каком то сервисе когда мы запускаем трек (или видео) на проигрывание, то под ползунком воспроизведения можно увидеть какой размер аудио загрузился (на ютубе...
Программирование iOS Apple Watch голосовой ввод текста http://www.cyberforum.ru/ios-dev/thread1409850.html
Планирую добавить в свое приложение поддержку Apple Watch. Мне необходимо реализовать ввод текста голосом. На официальном сайте нашел следующий код: -...
Программирование iOS Работа из под виртуальной машины Имею старенький Мас и решил попробовать Mac OS X Yosemite через виртуальную машину VMWare 11 и среду Xcode 6. Скачал поставил ... но там не работает эмулятор IPhone из под виртуалки... Что значит... подробнее

Показать сообщение отдельно
HellBoy4eG
7 / 7 / 1
Регистрация: 15.10.2013
Сообщений: 19
15.04.2015, 18:32
Немого сказать, что окончательно тебя понял, но заметил, что ты не используешь секции. Опишу небольшой пример!
Примеры кода буду писать на Свифте!

создаешь перечисление постов, это будет количество секций
Objective-C
1
2
3
4
5
6
enum DetailSectionType:Int {
    case Photo = 0
    case Video= 1
    case Music = 2
    case DetailSectionCount = 3 // Вот это и будет количеством секций
}
по надобности создаешь 3 кастомные ячейки если посты будут похожими используешь одну для обоих
в примере будут 3 кастомные ячейки
UITableViewPhotoCell
UITableView Video Cell
UITableViewMusicCell


Objective-C
1
2
3
4
// MARK: - Table view data source
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
    return DetailSectionType.DetailSectionCount.rawValue //Количество секций будет 3
}
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
// можно использовать и 1 массив, это зависит от того, как ты получаешь данные
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        let type:DetailSectionType = DetailSectionType(rawValue: section)!
        
        switch (type) {
        case DetailSectionType.Photo:
            return self.photosArray.count //в случае с фото и видео можно создать ячейку c Пикер вью и уже в его делегате указывать количество ячеек
        case DetailSectionType. Video:
            return self.videosArray.count
        case DetailSectionType.Music:
            return self.musicArray.count
      }
}
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell:UITableViewCell = UITableViewCell()
    // Photo
    if (indexPath.section == DetailSectionType.Photo.rawValue) {
        let photoCell: UITableViewPhotoCell = tableView.dequeueReusableCellWithIdentifier("UITableViewPhotoCell") as UITableViewPhotoCell
        //инициализация UITableViewPhotoCell
        cell = photoCell
        // Video
    } else if (indexPath.section == DetailSectionType.Video.rawValue) {
         let photoCell: UITableViewVideoCell = tableView.dequeueReusableCellWithIdentifier("UITableViewVideoCell") as UITableViewVideoCell
         //инициализация UITableViewVideoCell
         cell = photoCell
         // Music
    } else if (indexPath.section == DetailSectionType.Music.rawValue) {
         let photoCell: UITableViewMusicCell = tableView.dequeueReusableCellWithIdentifier("UITableViewMusicCell") as UITableViewMusicCell
         //инициализация UITableViewMusicCell
         cell = photoCell
    }
    return cell
}
 
//Ну и высоту
 
    func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        switch indexPath.section{
        case DetailSectionType.Photo.rawValue:
            return 35 // можно задать динамически от содержания контента
        case DetailSectionType.Video.rawValue:
            return 35
        case DetailSectionType.Music.rawValue:
            return 35
   }
}
Надеюсь поможет...
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru