Создание галереи изображений с помощью кнопок "Далее" и "Назад" в Xcode - PullRequest
0 голосов
/ 14 июля 2020

Я новичок в разработке Swift. Я прошел несколько курсов, но у меня есть несколько вопросов, которые я не могу найти.

Я хочу разработать приложение, содержащее 50 или более изображений, с предыдущей и следующей кнопками для go через них в матрица.

Я просмотрел случайные фрагменты кода примера, но мне трудно понять, как это сделать. Какой самый простой и эффективный способ go переключаться между этими изображениями в представлении? Другая проблема, с которой я столкнулся, заключается в том, что я хочу иметь возможность сохранять изображение, когда оно выбрано.

Конечно, ответ на этот вопрос прост для вас, но я новичок и не могу найти решение, после двух дней поиска и попыток.

Заранее спасибо!

Finotoni

1 Ответ

0 голосов
/ 14 июля 2020

Вот несколько шагов, которые вам нужно сделать:

  1. Получить / определить ваши изображения
  2. Имейте методы (или другой способ) получения предыдущего и следующего изображения
  3. Отображение текущего изображения

Вот действительно простой пример, который должен помочь вам понять:

struct ContentView: View {
    
    // Your images
    @State var images = ["image1", "image2", "image3"]
    
    // Some indicator on what image is the current one
    @State var imageIndicator: Int = 0
        
    var body: some View {
        HStack {
            
            // Prev one
            Button(action: {
                // Call a method that gets you the previous image
                if self.imageIndicator == 0 {
                    self.imageIndicator = self.images.count - 1
                } else {
                    self.imageIndicator = self.imageIndicator - 1
                }
            }) {
                Image(systemName: "arrow.left")
            }
            
            // Image with indicator to what image to display
            Image(self.images[self.imageIndicator]).resizable().frame(width: 100, height: 100)
            
            // Next one
            Button(action: {
                // Call a method that gets you the next image
                
                if self.imageIndicator == self.images.count - 1 {
                    self.imageIndicator = 0
                } else {
                    self.imageIndicator = self.imageIndicator + 1
                }
            }) {
                Image(systemName: "arrow.right")
            }
            
        }
    }
}

Производит это:

введите описание изображения здесь

...