Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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 UISplitViewController详细控制器上的Swift中心UIActivityIndicator视图_Ios_Swift - Fatal编程技术网

Ios UISplitViewController详细控制器上的Swift中心UIActivityIndicator视图

Ios UISplitViewController详细控制器上的Swift中心UIActivityIndicator视图,ios,swift,Ios,Swift,我在uiplitviewcontroller的详细视图中使用UIActivityIndicatorView,它不居中,更向右对齐,下面是我添加UIActivityIndicatorView的代码: indicator = UIActivityIndicatorView(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) as UIActivityIndicatorView //Set the activity indicato

我在
uiplitviewcontroller
的详细视图中使用
UIActivityIndicatorView
,它不居中,更向右对齐,下面是我添加
UIActivityIndicatorView
的代码:

indicator = UIActivityIndicatorView(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) as UIActivityIndicatorView

        //Set the activity indicator center

        indicator.center = self.view.center

        //Hide the indicator when its stopped.

        indicator.hidesWhenStopped = true

        //Set the style of the activity indicator

        indicator.style = UIActivityIndicatorView.Style.white

        //Set the background colour of the activity indicator

        indicator.backgroundColor = UIColor(white: 0.0, alpha: 0.6)

        //Make the activity indicator have rounded corners

        indicator.layer.cornerRadius = 15

        //Add activity indicator to view

        self.view.addSubview(indicator)

        //Start activity indicator

        self.indicator.startAnimating()

为什么它不居中?

这将居中我的UIActivityIndicator视图

override func viewDidLayoutSubviews() {

        if(self.indicator != nil)
        {
            self.indicator.center = self.view.center
        }
    }

这集中了我的UIActivityIndicator视图

override func viewDidLayoutSubviews() {

        if(self.indicator != nil)
        {
            self.indicator.center = self.view.center
        }
    }

应避免使用帧实例化
UIActivityIndicatorView
,而应使用此初始值设定项:

初始化(样式:
UIActivityIndicatorView.style

如合同所述:

UIActivityIndicatorView
根据指定的样式调整返回实例的大小。您可以通过
style
属性设置和检索活动指示器的样式

所以你应该这样做:

override func viewDidLoad(){
self.myActivityIndicatorView=UIActivityIndicatorView(样式:。白色)
}
覆盖viewDidLayoutSubviews(){
super.viewDidLayoutSubviews()
self.myActivityIndicatorView.center=self.view.center
}

您应该避免使用帧实例化
UIActivityIndicatorView
,而是使用此初始值设定项:

初始化(样式:
UIActivityIndicatorView.style

如合同所述:

UIActivityIndicatorView
根据指定的样式调整返回实例的大小。您可以通过
style
属性设置和检索活动指示器的样式

所以你应该这样做:

override func viewDidLoad(){
self.myActivityIndicatorView=UIActivityIndicatorView(样式:。白色)
}
覆盖viewDidLayoutSubviews(){
super.viewDidLayoutSubviews()
self.myActivityIndicatorView.center=self.view.center
}

我在视图中尝试了您的代码,它将显示为func,并且可以正常工作。。。无论如何,如果您想使用其他方法,但保持圆角bg视图:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    myActivityIndicatorView = UIActivityIndicatorView(style: .white)
    myActivityIndicatorView?.hidesWhenStopped = true
    myActivityBGView = UIView.init(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
    myActivityBGView?.backgroundColor = UIColor(white: 0.0, alpha: 0.6)
    myActivityBGView?.layer.cornerRadius = 15

    if let myActivityIndicatorView = myActivityIndicatorView,
        let myActivityBGView = myActivityBGView {
        myActivityBGView.addSubview(myActivityIndicatorView)
        view.addSubview(myActivityBGView)
        myActivityIndicatorView.center = myActivityBGView.center
        myActivityBGView.center = view.center
        myActivityIndicatorView.startAnimating()
    }
}

我在viewWillAppear func中尝试了你的代码,它可以工作。。。无论如何,如果您想使用其他方法,但保持圆角bg视图:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

    myActivityIndicatorView = UIActivityIndicatorView(style: .white)
    myActivityIndicatorView?.hidesWhenStopped = true
    myActivityBGView = UIView.init(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
    myActivityBGView?.backgroundColor = UIColor(white: 0.0, alpha: 0.6)
    myActivityBGView?.layer.cornerRadius = 15

    if let myActivityIndicatorView = myActivityIndicatorView,
        let myActivityBGView = myActivityBGView {
        myActivityBGView.addSubview(myActivityIndicatorView)
        view.addSubview(myActivityBGView)
        myActivityIndicatorView.center = myActivityBGView.center
        myActivityBGView.center = view.center
        myActivityIndicatorView.startAnimating()
    }
}

这可能是因为您试图将宽度/高度设置为100?因为它已经具有固有的内容大小。也许可以尝试将其初始化为UIActivityIndicatorView(),并通过以下操作调整中心:indicator=UIActivityIndicatorView()不会显示任何内容。可能是因为您试图将宽度/高度设置为100?因为它已经具有固有的内容大小。也许可以尝试将其初始化为UIActivityIndicatorView(),并通过执行以下操作来调整中心:indicator=UIActivityIndicatorView()不显示任何内容。