首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SubView of SceneView并非总是居中

SubView of SceneView并非总是居中
EN

Stack Overflow用户
提问于 2019-09-13 09:19:43
回答 2查看 77关注 0票数 1

当将CoachingOverlay添加到SceneView (在viewDidLoad中)时,覆盖有时不是居中的,而是出现在屏幕的右下角。这一切为什么要发生?如果屏幕有双倍大小,则右下角的覆盖将居中,那么大小还没有设置吗?或者可能是因为我在自定义的反应本机模块中使用ARKit?谢谢

代码语言:javascript
复制
coachingOverlay.translatesAutoresizingMaskIntoConstraints = false
sceneView.addSubview(coachingOverlay)
NSLayoutConstraint.activate([
  coachingOverlay.centerXAnchor.constraint(equalTo: sceneView.centerXAnchor),
  coachingOverlay.centerYAnchor.constraint(equalTo: sceneView.centerYAnchor),
  coachingOverlay.widthAnchor.constraint(equalTo: sceneView.widthAnchor),
  coachingOverlay.heightAnchor.constraint(equalTo: sceneView.heightAnchor)
])`

同样的事情发生在一个MBProgressHUD上:

代码语言:javascript
复制
self.hud = MBProgressHUD.showAdded(to: self.sceneView, animated: true)   
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-09-16 11:14:44

我通过在视图/sceneview和hud和coachingoverlay子视图之间添加一个额外的视图来解决这个问题:

代码语言:javascript
复制
let container = UIView(frame: UIScreen.main.bounds)
self.view.addSubview(container)
self.hud = MBProgressHUD.showAdded(to: container, animated: true)
NSLayoutConstraint.activate([
  self.hud.centerXAnchor.constraint(equalTo: container.centerXAnchor),
  self.hud.centerYAnchor.constraint(equalTo: container.centerYAnchor),
  self.hud.widthAnchor.constraint(equalTo: container.widthAnchor),
  self.hud.heightAnchor.constraint(equalTo: container.heightAnchor)
])
票数 1
EN

Stack Overflow用户

发布于 2019-09-13 09:22:19

请尝尝这个

代码语言:javascript
复制
yourSubView.center = CGPoint(x: yourView.frame.size.width  / 2,
                         y: yourView.frame.size.height / 2)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57920745

复制
相关文章

相似问题

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