Изменить цвет фона ScrollView SwiftUI

Я новичок в разработке приложений для iOS, и у меня возникают проблемы с лишним пробелом внизу страницы входа в систему в зависимости от размера изображения, которое у меня есть на экране. Мне сказали, что я должен изменить цвет фона моего ScrollView и сделать фон моего представления ясным. Я не уверен, как изменить цвет фона ScrollView. Мой код в основном выглядит так: некоторые элементы удалены для удобства чтения:

var body: some View {
    ScrollView {
        //if login.isLoggedIn {
        MainView()
        //} else {
        VStack() {
            
        }
        
        .background(LinearGradient(gradient: Gradient(colors: [Color{.lightblue), Color(.blue)]), startPoint: .top, endPoint: .bottom))
            .edgesIgnoringSafeArea(.all)
        }
        }
}
//}

Screen with Whitespace Screen without Whitespace After Image on Screen is Made Larger

Может кто-нибудь подскажет, как изменить цвет фона? Я бы предпочел, чтобы цвет фона соответствовал линейному градиенту, указанному выше. Если нет, можете показать, как это сделать в UIScrollView?

Вы уверены, что ваш код работает? Похоже, там куча ошибок типа Color{blue) и CColor(blue). CColor — это тип из импортированной библиотеки? Также почему вы передаете цвет blue в обоих местах? И это должно быть .blue, если вы не определили его как let blue: CGColor = .blue где-то еще в коде.   —  person JackLalane1    schedule 02.05.2021

@ParthTamane Да, работает. Я просто неправильно набрал. Синий — это два разных оттенка, которые на самом деле представляют собой синие коробки / цветные коробки. Я забываю, как они называются.   —  person JackLalane1    schedule 02.05.2021

См. также:  SwiftUI: постоянная ошибка диагностики при создании панели навигации
Понравилась статья? Поделиться с друзьями:
IT Шеф
Комментарии: 1
  1. JackLalane1

    Попробуйте переместить настройку цвета фона на одну строку ниже. Также может оказаться полезным этот пост.

    struct ContentView: View {
        var body: some View {
            ScrollView {
                //if login.isLoggedIn {
                MainView()
                //} else {
                VStack() {
                    
                }
            }.background(
                LinearGradient(gradient: Gradient(colors: [Color(.lightblue), Color(.blue)]), startPoint: .top, endPoint: .bottom)
            ).edgesIgnoringSafeArea(.all)
        }
    }
    
    ...
    
    // Extension for custom colour lightBlue
    extension UIColor {
        static let lightBlue = UIColor(red: 0.2, green: 0.6, blue: 0.8, alpha: 1)
    }
    

    Я случайно попытался отредактировать ваш ответ вместо своего исходного сообщения. person JackLalane1; 02.05.2021

    np принял ваше редактирование. бонус +2;) person JackLalane1; 02.05.2021

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: