Swift,在自定义活动指示器中添加导航控制器

时间:2015-06-30 15:28:54

标签: swift uinavigationcontroller uiactivityindicatorview

我的自定义活动指示符与导航控制器不重叠。

以下是我的代码

     func showActivityIndicator(uiView: UIView) {
        container.frame = uiView.frame
        container.center = uiView.center
        container.backgroundColor = UIColorFromHex(0xffffff, alpha: 0.1)

         var loadingView: UIView = UIView()
         loadingView.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height)
        loadingView.center = uiView.center
        loadingView.backgroundColor = UIColorFromHex(0x444444, alpha: 0.5)
        loadingView.clipsToBounds = true
        loadingView.layer.cornerRadius = 10

        var imageData = NSData(contentsOfURL: NSBundle.mainBundle()
        .URLForResource("synch-loader", withExtension: "gif")!)
        let try = UIImage.animatedImageWithData(imageData!)
        var imageView = UIImageView(image: try)

        imageView.center = uiView.center
        imageView.frame = CGRect(x: uiView.frame.width/4, y: uiView.frame.height/2, width: 500, height: 15)

        loadingView.addSubview(imageView)
        container.addSubview(loadingView)
        uiView.addSubview(container)
        actInd.startAnimating()

    }
    func navigationHandling()
     {
              if self.navigationController != nil {
             self.navigationController?.navigationBar.tintColor = utility.uicolorFromHex(0x70B420)
            self.navigationController?.navigationBar.barTintColor = utility.uicolorFromHex(0x70B420)
           self.navigationController?.navigationBarHidden = false
            self.navigationItem.hidesBackButton = true

    }
         sortingBtn = UIBarButtonItem(image: sortingImg,  style: UIBarButtonItemStyle.Done, target: self, action: Selector("sortingPressed:"))

          menuBtn = UIBarButtonItem(image: menuImg,  style: UIBarButtonItemStyle.Plain, target: self, action : nil)
          sortingBtn.tintColor = UIColor.whiteColor()
          menuBtn.tintColor = UIColor.whiteColor()
          var buttons : NSArray = [menuBtn,sortingBtn]
          self.navigationItem.rightBarButtonItems = buttons as [AnyObject]
         self.navigationItem.setRightBarButtonItems([menuBtn,sortingBtn], animated: true)
          networkLabel.hidden = true

}

我只想重叠导航控制器上的视图,以免它看起来很难看。

我感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

let appDelegate = UIApplication.sharedApplication().delegate as? AppDelegate
let window = appDelegate?.window
showActivityIndicator(window)

此处将活动指示符添加到窗口,或将窗口作为视图传递。

{{1}}

答案 1 :(得分:0)

您将uiView作为参数传递给此方法

func showActivityIndicator(uiView: UIView)

是您的ViewController视图还是UINavigationController的视图? 因为如果它是你的UIViewController的视图你的自定义加载将采用它的大小和原点,那就在你的NavigationBar下