首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >管理iphone8 & iphone12中的底部按钮

管理iphone8 & iphone12中的底部按钮
EN

Stack Overflow用户
提问于 2021-04-22 06:22:27
回答 2查看 144关注 0票数 1

在iPhone8类似矩形边缘设备,我需要一个底部按钮卡在底部边缘与尖锐的角落。在像iPhone12一样的曲线边缘设备中,我需要一个底部按钮,在右下角有一定的距离,并有一个角半径。

我怎样才能在故事板上管理它呢?请检查下面的图片,以更好地理解。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-22 07:39:42

据我所知,故事板没有直接的方法来实现这一点。如果我是你,我会

  1. 检查设备是否有弯曲的边缘(即设备是否为iPhone X或更高型号),然后
  2. 根据上面的检查以编程方式设置按钮约束。

没有官方的API来检查设备是否有弯曲的边缘,但这是我的解决方案,所以如果有人知道更好的攻击,请告诉我。

代码语言:javascript
复制
extension UIDevice {
    var iPhoneXOrAboveModel: Bool {
        return UIScreen.main.nativeBounds.height >= 2436
    }
}

现在,您可以在视图控制器中使用这个扩展并限制按钮。

代码语言:javascript
复制
if UIDevice.current.iPhoneXOrAboveModel {
            // Has curved edges
            NSLayoutConstraint.activate([
                button.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 20),
                button.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant:  -20)
            ])
            button.layer.cornerRadius = 12
        } else {
            // Has square edges
            NSLayoutConstraint.activate([
                button.leadingAnchor.constraint(equalTo: view.leadingAnchor),
                button.trailingAnchor.constraint(equalTo: view.trailingAnchor)
            ])
        }
票数 1
EN

Stack Overflow用户

发布于 2021-04-22 07:47:24

  1. Remove宽度约束,等于to Superview约束,您有given.
  2. Provide引导和尾随约束到Button。
  3. 检查下面的图像。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67207796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档