簡體   English   中英

SwiftUI - ScrollView 不顯示底部文本

[英]SwiftUI - ScrollView not showing bottom Texts

所以我試圖在滾動視圖中顯示一堆文本,但一旦不顯示(它們的大小與 tableView 行一樣)。

這是我的代碼:

struct TestView: View {
@ObservedObject var viewModel: ViewModel
@State private var contentSize: CGSize = .zero

var body: some View {
    ZStack {
        ScrollView {
            VStack {
                Image(viewModel.image).resizable()
                    .scaledToFit()
                    .overlay(
                        Button(action: {
                            print(">> Trash Tapped")
                            //viewModel.dismiss
                        }) {
                            Image("closeBtn")
                        }.padding(.top, 30)
                            .padding(.trailing, 16),
                        alignment: .topTrailing
                        
                    )
                    .padding(.bottom, 40)
                
                Text(viewModel.firstText)
                    .padding(.trailing, 30)
                    .padding(.leading, 30)
                    .padding(.bottom, 40)
                    .multilineTextAlignment(.trailing)
                    .font(viewModel.firstFont)
                    .foregroundColor(viewModel.firstColor)
                    .lineLimit(nil)
                Text(viewModel.secondText)
                    .padding(.trailing, 30)
                    .padding(.leading, 30)
                    .padding(.bottom, 5)
                    .multilineTextAlignment(.trailing)
                    .font(viewModel.secondFont)
                    .foregroundColor(viewModel.secondColor)
                    .lineLimit(nil)
                Text(viewModel.thirdText)
                    .padding(.trailing, 30)
                    .padding(.leading, 30)
                    .padding(.bottom, 40)
                    .multilineTextAlignment(.trailing)
                    .font(viewModel.thirdFont)
                    .foregroundColor(viewModel.thirdColor)
                    .lineLimit(nil)
                
                Text(viewModel.fourthText)
                    .padding(.trailing, 30)
                    .padding(.leading, 30)
                    .padding(.bottom, 5)
                    .multilineTextAlignment(.trailing)
                    .font(viewModel.fourthFont)
                    .foregroundColor(viewModel.fourthColor)
                    .lineLimit(nil)
                
                Text(viewModel.fifthText)
                    .padding(.trailing, 30)
                    .padding(.leading, 30)
                    .padding(.bottom, 40)
                    .multilineTextAlignment(.trailing)
                    .font(viewModel.fifthFont)
                    .foregroundColor(viewModel.fifthColor)
                    .lineLimit(nil)

                Text(viewModel.sixText)
                    .padding(.trailing, 22)
                    .padding(.leading, 22)
                    .padding(.bottom, 30)
                    .multilineTextAlignment(.trailing)
                    .font(viewModel.sixFont)
                    .foregroundColor(viewModel.sixColor)
                    .lineLimit(nil)
                Text(viewModel.sixText)
                    .padding(.trailing, 22)
                    .padding(.leading, 22)
                    .padding(.bottom, 30)
                    .multilineTextAlignment(.trailing)
                    .font(viewModel.sixFont)
                    .foregroundColor(viewModel.sixColor)
                    .lineLimit(nil)
            }
            Spacer()
        }
        .edgesIgnoringSafeArea(.all)
    }
    .navigationBarHidden(true)
}
}

這是我的虛擬機:

final class ViewModel: ObservableObject, CryptoPopUpScreen {
var firstFont: Font
var firstColor: Color
var secondFont: Font
var secondColor: Color
var thirdFont: Font
var thirdColor: Color
var fourthFont: Font
var fourthColor: Color
var fifthFont: Font
var fifthColor: Color
var sixFont: Font
var sixColor: Color
var firstText: String
var secondText: String
var thirdText: String
var fourthText: String
var fifthText: String
var sixText: String

lazy var image = "cryptoPilot"
init() {
    
    firstText = L10n.cryptoPilotTitle
    firstColor = Color(ColorName.black)
    firstFont = Font(UIFont(name: "Orion-Regular", size: 14)!)
    
    secondText = L10n.cryptoPilotFirstTextTitle
    secondColor = Color(ColorName.black)
    secondFont = Font(UIFont(name: "Orion-Bold", size: 14)!)
    
    thirdText = L10n.cryptoPilotFirstText
    thirdColor = Color(ColorName.black)
    thirdFont = Font(UIFont(name: "Orion-Regular", size: 14)!)
    
    fourthText = L10n.cryptoPilotSecondTextTitle
    fourthColor = Color(ColorName.black)
    fourthFont = Font(UIFont(name: "Orion-Bold", size: 14)!)
    
    fifthText = L10n.cryptoPilotSecondText
    fifthColor = Color(ColorName.black)
    fifthFont = Font(UIFont(name: "Orion-Regular", size: 14)!)
    
    sixText = L10n.cryptoPilotInfo
    sixColor = Color(ColorName.mushroom)
    sixFont = Font(UIFont(name: "Orion-Regular", size: 1)!)
    
}

在此處輸入圖像描述

在此處輸入圖像描述

在圖像中,我們可以看到文本沒有達到預期的高度。

在一個附帶項目中,我管理它的權利。 我錯過了什么?

首先,如果你有很多重復修飾符,為自己創建一個自定義修飾符並使用它是值得的,請參閱參考https://www.hackingwithswift.com/books/ios-swiftui/custom -修飾符

其次,對於 SixFont,您已將大小設置為 1,所以我相信這將是您的問題?

最后,由於您忽略了所有邊緣上的安全插圖,是否有可能因為它們被推出視圖而沒有顯示它們? 盡量不要忽略底部插圖。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM