Изначально у меня был другой пост, просто хотел переделать его, чтобы почистить.
Это более или менее макет, который я хотел использовать. Представьте, что в первом представлении изображений были изображения собак, во втором — изображения кошек, а в третьем — изображения кроликов. три папки содержат группу из трех отдельных наборов изображений.
Каков наилучший способ настроить его, чтобы я мог случайным образом проводить, скажем, первое изображение, где будут отображаться только изображения собак.
Я спрашиваю, есть ли определенный способ создания файловых структур или связывания изображений с каждым представлением изображения?
У меня есть основы рандома (что-то с 4 в нем, точно не помню метод) и основы свайпа, просто искал помощь со связью фотографий и структурой файла.
Пожалуйста, дайте мне знать, если это все еще не имеет смысла.
Спасибо
ИЗМЕНИТЬ
После того, как я возился с этим, я нахожусь здесь:
С очень простым массивом в основном
catsArray: [String] = ["catpic1","catpic2"......]
Тогда я настроил его как
let randomIndex = Int(arc4random_uniform(UInt32(catArray.count)))
if (sender.direction == .Right)
{
self.catImageView.image = UIImage(named: catArray[randomIndex])
}
Просто я взламываю вещи из Интернета. теперь я столкнулся с проблемой. после нескольких свайпов я получаю нулевые изображения или просто пустые. Почему это?
Теперь, когда у меня есть некоторые из этих настроек, я обсуждаю, должен ли я просто использовать синтаксический анализ для сервера или есть лучший способ.
Благодарность
2 ответа
Любой подход будет работать. Вероятно, будет хорошим упражнением написать обе версии. Вы бы извлекли из этого урок.
Ваш вопрос слишком расплывчатый. Вас беспокоит память? Если это так, вы не должны загружать изображения в массив. Вместо этого загрузите имена изображений и загрузите каждое изображение, когда оно прокручивается на экране. Возможно, вы захотите загрузить текущее изображение и следующее изображение, чтобы оно уже было в памяти и могло отображаться без задержек.
Вы говорите об использовании UIPageViewController? Это хороший класс для управления набором страниц, которые вы можете прокручивать. Существует пример приложения от Apple под названием PhotoScroller, которое иллюстрирует эту технику, а также мозаичное расположение изображений, чтобы вы могли отображать большие изображения и управлять масштабированием и панорамированием. (Однако приложение написано на Objective-C.)
РЕДАКТИРОВАТЬ:
Ваши обновления делают ваш вопрос немного яснее.
Есть много способов справиться с этим. Вот 1.
Создайте 3 отдельные папки: одну для кошек, одну для собак и одну для кроликов. (в каталоге документов вашего приложения или в комплекте, если изображения будут поставляться с приложением.)
Используйте NSFileManager для создания 3 отдельных массивов имен файлов. Взгляните на методы contentsOfDirectoryAtURL:includingPropertiesForKeys:options:error:
и contentsOfDirectoryAtPath:error:
. Вы должны быть в состоянии сделать любую из этих работ.
Затем вам нужно будет зашифровать ваши массивы имен файлов, чтобы создать рандомизированный порядок. Вы можете использовать один из методов сортировки на основе блоков, где ваш блок использует случайное число для определения порядка сортировки каждой пары объектов.
Наконец, вам нужно реализовать свайп для переключения.
Похоже, вы новичок, поэтому вам предстоит много работы. Вы должны разбить проблему на части и решать их по одной.
Похожие вопросы
Новые вопросы
ios
iOS - мобильная операционная система, работающая на Apple iPhone, iPod touch и iPad. Используйте этот тег [ios] для вопросов, связанных с программированием на платформе iOS. Используйте связанные теги [target-c] и [swift] для проблем, характерных для этих языков программирования.