Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 无法正确定位UIActivityIndicator视图_Ios_Swift - Fatal编程技术网

Ios 无法正确定位UIActivityIndicator视图

Ios 无法正确定位UIActivityIndicator视图,ios,swift,Ios,Swift,我在场景中添加了UIActivityIndicatorView,效果很好。然后我尝试添加一个小容器,并在上面显示活动指示器 这是我的密码 func showActivityIndicator(uiView: UIView) { let container: UIView = UIView() container.frame = CGRect(x: 0.0, y: 0.0, width: 80.0, height: 80.0); container.center = uiV

我在场景中添加了UIActivityIndicatorView,效果很好。然后我尝试添加一个小容器,并在上面显示活动指示器

这是我的密码

func showActivityIndicator(uiView: UIView) {
    let container: UIView = UIView()
    container.frame = CGRect(x: 0.0, y: 0.0, width: 80.0, height: 80.0);
    container.center = uiView.center
    container.backgroundColor = UIColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.5)

    let activityIndicator = UIActivityIndicatorView()
    activityIndicator.frame = CGRect(x: 0.0, y: 0.0, width: 40.0, height: 40.0);
    activityIndicator.center = uiView.center
    activityIndicator.hidesWhenStopped = true
    activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray

    container.addSubview(activityIndicator)
    uiView.addSubview(container)

    activityIndicator.startAnimating()
}

容器视图显示在屏幕中间,但没有活动指示器。当我检查debug视图层次结构时,我看到活动指示器位于视图的右下角。有人能解释一下为什么在我添加容器后它会出现在那里吗?我如何才能正确定位它


谢谢。

以下代码有问题

 activityIndicator.center = uiView.center
请试试这个

 activityIndicator.center = CGPoint(x: container.frame.size.width/2,y: container.frame.size.height/2)
这将有助于:

func showActivityIndicator(uiView: UIView) {
      let container: UIView = UIView()
      container.frame = CGRect(x: 0.0, y: 0.0, width: 80.0, height: 80.0);
      container.center = uiView.center
      container.backgroundColor = UIColor(red: 0.0, green: 0.0, blue: 0.0, alpha: 0.5)

      let activityIndicator = UIActivityIndicatorView()
      activityIndicator.center = container.center
      activityIndicator.hidesWhenStopped = true
      activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray

     container.addSubview(activityIndicator)
     uiView.addSubview(container)

     activityIndicator.startAnimating()
}

不,这不起作用。在函数“container.center=uiView.center”的第3行中。