У меня странная проблема: если изображение с изменяемым размером, которое я сделал (настраиваемое представление), отсутствует в NavigationButton, оно работает нормально, но если оно есть, то изображение по-прежнему имеет хороший размер, но становится полностью синим. Кто-нибудь знает, что не так?
struct DynamicallyResizableImage: View {
let imageName: String
let height: CGFloat
let width: CGFloat
init(imageName: String, height: CGFloat? = nil, width: CGFloat? = nil) {
self.imageName = imageName
let imageSize = UIImage(named: imageName)!.size
guard let height = height else {
if let width = width {
self.width = width
self.height = imageSize.height * (width/imageSize.width)
return
}
self.height = 0
self.width = 0
return
}
if let width = width {
self.height = height
self.width = width
return
}
self.height = height
self.width = imageSize.width * (height/imageSize.height)
}
var body: some View {
Image(imageName)
.resizable()
.frame(width: width, height: height)
}
}
NavigationButton(destination: PicturePreviewView(imageName: "IMG_4955")) {
DynamicallyResizableImage(imageName: "IMG_4955", height: 200)
}
Когда он не встроен в NavigationButton, все работает отлично. При внедрении в NavigationButton изображение заполняется синим цветом.
Кто-нибудь знает, как это исправить? Спасибо!!!