Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS Prototype Cell http://www.cyberforum.ru/ios-dev/thread1412275.html
Здравствуйте!!!я не сильно разбираюсь в Obj-C, точнее начал недавно и такой вопрос: Есть NavigationViewController и в нем Prototype cells, как мне сделать так, чтобы когда я нажимал на Prototype cells открывался View Controller , а в нем WebView с ссылкой на сайт??? Если кому интересно и знает решение могу скинуть Source Code
Программирование iOS Отдельный observer для каждой ячейки Здравствуйте. В ячейках таблицы имеются аудиофайлы с кнопкой для запуска воспроизведения этого файла. Когда запускаю первый трек для проигрывания все нормально, айдио воспроизводится, таймер времени воспроизведения изменяется, но когда включаю второй трек, воспроизведение первого останавливается и начинает играть второй, но счетчик времени начинает изменятся у обоих файлов. Если запускаю третий... http://www.cyberforum.ru/ios-dev/thread1411159.html
Где обрабатывать нажатие кнопки Программирование iOS
Здравствуйте. Возник такой вопрос, где обрабатывать событие нажатия кнопки, которая лежит внутри ячейки (кастомной)? Вроде как логично, что бы обработчик нажатия кнопки в ячейке обрабатывала сама ячейка, но может быть я ошибаюсь? Добавлено через 4 минуты Или обрабатывать нужно в tableViewController?
Программирование iOS Индикатор загрузки аудио
Вечер добрый. В вконтакте или в другом каком то сервисе когда мы запускаем трек (или видео) на проигрывание, то под ползунком воспроизведения можно увидеть какой размер аудио загрузился (на ютубе серенькая полоска). Вот как эту шкалу можно получить? Создать легко - прогрессВью, но какие данные использовать? Где и как эти данные получить получить (или как они хоть называются), может через...
Программирование iOS Apple Watch голосовой ввод текста http://www.cyberforum.ru/ios-dev/thread1409850.html
Планирую добавить в свое приложение поддержку Apple Watch. Мне необходимо реализовать ввод текста голосом. На официальном сайте нашел следующий код: - (void)presentTextInputControllerWithSuggestions:(NSArray *)suggestions allowedInputMode:(WKTextInputMode)inputMode completion:(void (^)(NSArray *results))completion По...
Программирование 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
   }
}
Надеюсь поможет...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru