小编Dav*_*cek的帖子

如何在 SwiftUI 中滚动到顶部

我正在学习 SwiftUI,但我遇到了一个问题......ScrollViewSegmentedControl值改变时我如何滚动到顶部?

这是主视图显示数据的代码:

var body: some View {
    NavigationView {
        SegmentedControl(selection: $selected) {
            Text("Food").tag(0)
            Text("Drinks").tag(1)
            Text("Wines").tag(2)
            }
            .padding()
        ScrollView {
            VStack(alignment: .center) {
                if selected == 0 {
                    ForEach (persons) {
                        AnyCell(person: $0, animal: nil, wine: nil)
                    }
                } else if selected == 1 {
                    ForEach (animals) {
                        AnyCell(person: nil, animal: $0, wine: nil)
                    }
                } else {
                    ForEach (wines) {
                        AnyCell(person: nil, animal: nil, wine: $0)
                    }
                }
            }
            }
            .navigationBarTitle(Text("Food list"), displayMode: .inline)
    } …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

4
推荐指数
1
解决办法
3608
查看次数

移除约束 iOS

我尝试消除约束。我想对纵向和横向有不同的限制。如果我将方向更改为纵向,我会调用函数setupConstrainsInPortrait,反之亦然。我有两个功能。

此功能设置人像模式。

func setupConstrainsInPortrait() {

    view.addSubview(myView)

    myView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
    myView.topAnchor.constraint(equalTo: view.topAnchor, constant: 50).isActive = true
    myView.heightAnchor.constraint(equalToConstant: 300).isActive = true
    myView.widthAnchor.constraint(equalToConstant: view.frame.size.width).isActive = true

    view.addSubview(switchKmM)

    switchKmM.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
    switchKmM.topAnchor.constraint(equalTo: myView.bottomAnchor, constant: 10).isActive = true
    switchKmM.heightAnchor.constraint(equalToConstant: 50).isActive = true
    switchKmM.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true

    view.addSubview(speedLbl)

    speedLbl.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
    speedLbl.topAnchor.constraint(equalTo: view.bottomAnchor, constant: -50).isActive = true
    speedLbl.heightAnchor.constraint(equalToConstant: 50).isActive = true
    speedLbl.widthAnchor.constraint(equalTo: view.widthAnchor).isActive = true

}
Run Code Online (Sandbox Code Playgroud)

此功能设置横向模式。

    func setupConstrainsInLandScape() {
    view.addSubview(myView)

    myView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 10).isActive = true
    myView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true …
Run Code Online (Sandbox Code Playgroud)

constraints ios swift

0
推荐指数
1
解决办法
6521
查看次数

标签 统计

ios ×2

swift ×2

constraints ×1

swiftui ×1