我创建了图像的可滚动列表,如下所示:
CREATE TRIGGER REQUESTOR_TRG
BEFORE INSERT ON REQUESTOR
FOR EACH ROW
BEGIN
<<COLUMN_SEQUENCES>>
BEGIN
IF INSERTING AND :NEW.ID IS NULL THEN
SELECT REQUESTOR_SEQ.NEXTVAL INTO :NEW.ID FROM SYS.DUAL;
END IF;
END COLUMN_SEQUENCES;
END;
这是此代码生成的UI:
现在,我想摆脱NavigationView {
List {
ForEach(landmarks) { landmark in
landmark.image(forSize: 200)
// some modifiers...
}
.navigationBarTitle(Text(category.rawValue))
}
创建的行分隔符。因此,我将List
替换为List
。这就是预览显示的内容:
我该如何解决?
我见过this other similar question,但是接受的答案实际上并不能解决问题,而是引入了固定宽度。
答案 0 :(得分:2)
我遇到了同样的问题,显然滚动视图使用了最小尺寸。
您可以将.frame修饰符添加到堆栈内的内容中,并按如下所示将其宽度声明为屏幕的宽度:
ContentInsideScrollView { ... }.frame(width: UIScreen.main.bounds.width)
请注意填充,滚动视图可能会延伸到屏幕的整个宽度。
否则,您可以将行设置为无穷大宽度:
.frame(minWidth: 0, maxWidth: .infinity)
无论哪种方式,您都必须使用 .frame 修饰符
答案 1 :(得分:2)
找到了完整的SwiftUI
解决方案。
var body: some View {
GeometryReader { geometry in
ScrollView(alwaysBounceVertical: true) {
VStack {
// Your code
}.frame(width: geometry.size.width)
}
}.edgesIgnoringSafeArea(.all)
}