首页 > 解决方案 > 如何使堆栈视图在横向滚动

问题描述

我有一个弹出框(警报)作为自定义视图(UIViewController)。作为子视图,在情节提要中,我有一个带有一些标签的堆栈视图,并且我添加了一个滚动视图作为堆栈视图的超级视图。在纵向模式下它显示得很好,但是当移动到横向时,我不知道我必须做什么才能使堆栈视图可滚动。我尝试了很多方法:使堆栈视图更小,或使滚动视图更小或嵌入另一个内容视图以使滚动出现,但它不起作用。从纵向到横向时如何使堆栈视图可滚动?

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
    super.viewWillTransition(to: size, with: coordinator)
    coordinator.animate(alongsideTransition: nil) { _ in
        if self.device.isPhone {
            let isOrientationLandscape = self.device.orientation == .horizontal
            if isOrientationLandscape {
                self.scrollView.translatesAutoresizingMaskIntoConstraints = false
                self.contentView.translatesAutoresizingMaskIntoConstraints = false 
                self.contentView.heightAnchor.constraint(equalToConstant: 125.0).isActive = true
                self.scrollView.contentSize = CGSize(width: self.scrollView.frame.size.width, height: self.contentView.frame.size.height)
          }
     }
}

我需要看起来像这样

标签: swiftuiscrollviewlandscapeuistackviewdevice-orientation

解决方案


推荐阅读