我试图通过使用下面的代码获取视图的中心,正在使用的类来自DTIActivityIndicatorView
,它将自定义活动指示符添加到视图中。
var midX = CGRectGetMidX(self.view.bounds)
var midY = CGRectGetMidY(self.view.bounds)
let topStoriesActivityIndicator: DTIActivityIndicatorView = DTIActivityIndicatorView(frame: CGRect(x: midX, y: midY, width:80.0, height:80.0))
但上面的代码给出了以下结果,其中活动指标不在中间。
答案 0 :(得分:11)
Swift 3
以下代码代表Screen的中心:
let frameSize: CGPoint = CGPoint(x: UIScreen.main.bounds.size.width*0.5,y: UIScreen.main.bounds.size.height*0.5)
希望这有帮助!
答案 1 :(得分:11)
Swift 4扩展程序:
titleLabel.textAlignment = .center
答案 2 :(得分:9)
界限可能与视图大小的显示方式不同。尝试使用框架,如果它不起作用,请尝试使用边界。
var midX = CGRectGetMidX(self.view.bounds)
var midY = CGRectGetMidY(self.view.bounds)
此外,由于您将视图定位在中心,然后添加宽度和高度,它也会显示为关闭。你应该像这样设置框架
let topStoriesActivityIndicator: DTIActivityIndicatorView = DTIActivityIndicatorView(frame: CGRect(x: midX - 80.0, y: midY - 80.0, width:80.0, height:80.0))
答案 3 :(得分:7)
斯威夫特3:
4.3.0 smtp; 451 4.3.0 This message could not be delivered due to a recipient error. Please try again later
答案 4 :(得分:4)
试试这个: -
var midY = self.view.frame.height / 2
var midX = self.view.frame.width / 2
答案 5 :(得分:0)
怎么样?
let width = 80
let height = 80
让
topStoriesActivityIndicator: DTIActivityIndicatorView = DTIActivityIndicatorView(frame: CGRect(x: view.bounds.midX - ( width * 0.5), y: view.bounds.midY - ( height * 0.5) , width: width, height: height))
这也许可以帮助解决问题
答案 6 :(得分:0)
快捷键5
let frameSize: CGPoint = CGPoint(x:self.view.bounds.midX, y:self.view.bounds.midY)
let frameSize: CGPoint = CGPoint(x:yourView.bounds.midX, y:yourView.bounds.midY)
或
let frameSize: CGPoint = self.view.center