У меня для этого не написано кода. Но я хочу, чтобы какая-то помощь могла быть в состоянии сделать код, чтобы он показывал новую фотографию каждый день. например, у меня есть 10 изображений, и я хочу отображать каждое изображение так же, как 16, 17, 18 и т. д.?Изменение фотографии каждый день (Xcode, Swift)
ответ
Здесь вы идете ... вызова метода getImageForToday(), где когда-либо вы хотите получать изображение на сегодня (Это решение будет работать специфичны для вашего дела, то есть, как вы упомянули вас есть 10 изображений)
func getImageForToday() -> UIImage
{
let arrImages = ["image1.png", "image2.png" ... "image10.png"]
var imageName = arrImages[getLastCharacterFromTodayDate()]
return UIImage(named: imageName)
}
func getLastCharacterFromTodayDate() -> Int
{
let calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
let component = calendar.components(NSCalendarUnit.CalendarUnitDay, fromDate: NSDate())
return component.day % 10
}
Вы можете использовать объект NSDate, чтобы узнать, что это за день, и после этого что-то делать.
Во-первых у вас есть dictionnary изображения так:
let images = [ UIImage(named: "image1.png")!, UIImage(named: "image2.png")!, UIImage(named: "image3.png")]
так что теперь, вы должны знать, что сегодня день для первого приложения открывающегося в Exemple. Таким образом, вы можете сделать это:
let date = NSDate()
Вы ставите дату элемента в UserDefaults. (для его сохранения)
Теперь вы можете отображать изображение. Вы делаете случайное число, и вы берете UIImage в этой случайной позиции.
На следующий день или после следующего открытия приложения вы проверяете NSDate с сохраненным NSDate, и если он отличается, вы делаете другую фотографию.
если я хочу, чтобы он повторял через 10 дней одно и то же изображение? @alijawad –
будет повторять изображения через 10 дней, так как image1.png будет отображаться в день 1, 11, 21, 31 ... image2.png будет отображаться в день 2, 12 и 22 .. и т. д. –
Спасибо alot и еще одно, если мы будем повторять то же самое с UILabel, чтобы повторить. Вся процедура такая же? @alijawad –