如何使堆栈视图在横向滚动

时间:2019-02-01 18:19:34

标签: swift uiscrollview landscape uistackview device-orientation

我有一个弹出窗口(警报)作为自定义视图(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)
          }
     }
}

I need to look something like this

0 个答案:

没有答案