swift 与视图交互使工具栏和标题消失

vuktfyat  于 2023-10-15  发布在  Swift
关注(0)|答案(1)|浏览(128)

我正在开发一个手表应用程序,需要从iPhone接收图像。该应用程序的用户需要解放双手,这就是为什么他们必须在Watch上检查这些图像。因此,我添加了一个基本的图像查看器,允许他们放大图像和平移。
一旦用户平移或缩放,工具栏和标题将消失。我在模拟器和我同事的手表(A2376)上观察到这种行为,但在我的手表(A2356)上没有观察到。在watchOS 9.6.2和10.0.1上测试。
为什么会这样?
下面是一些示例代码:

// View is presented on a sheet

TabView(selection: $viewing) {
    ForEach(images) { reference in
        reference.img
            .resizable()
            .aspectRatio(contentMode: .fit)
            .scaleEffect(scale)
            .offset(offset + draggingOffset)
            .frame(width: screenSize.width, height: screenSize.height-1)
            .clipped()
            .id(reference.id)
            .gesture(panGesture, including: .gesture)
            .gesture(tapZoomGesture)
            .navigationTitle(viewerTitle)
            .focusable()
            .digitalCrownRotation(detent: $scale,
                                  from: 0.5,
                                  through: scaleMax,
                                  by: 0.1,
                                  sensitivity: .low,
                                  isContinuous: false,
                                  isHapticFeedbackEnabled: false,
                                  onIdle: { offset = stickyEdgeOffset })
    }
}
emeijp43

emeijp431#

解决方案是提升navigationTitletoolbar。我真的很幸运的猜到了。无法想象会是这样。

someView
  .sheet(isPresented: $isShowingViewer, content: {
    imageViewer
      .navigationTitle("Image viewer")
      .toolbar(content: {
          ToolbarItem(placement: .confirmationAction, content: {
              imageViewerToolbar
        })
    })
})

相关问题