如何在导航栏中设置活动指示器?

War*_*ior 45 iphone frame activity-indicator navigationbar

我是iphone开发的新手.我想在导航栏中设置一个活动指示器.我在导航栏下面看到我的活动指示器.我的代码在这里

- (IBAction) gomethod : (id) sender {
    xxMapSubviewcontroller = [[XxMapSubviewcontroller alloc] init];
    [self.navigationController pushViewController:xxMapSubviewcontroller animated:YES];

    activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
    activityIndicator.frame = CGRectMake(0.0, 0.0, 20.0, 20.0);
    [activityIndicator startAnimating];

    [xxMapSubviewcontroller.view addSubview:activityIndicator];
}
Run Code Online (Sandbox Code Playgroud)

如何在导航栏中设置我的活动指示器?请帮帮我.谢谢.

War*_*ior 82

我在视图中添加了以下代码,我想在导航栏中显示活动指示器.

activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
UIBarButtonItem * barButton = [[UIBarButtonItem alloc] initWithCustomView:activityIndicator];
[self navigationItem].rightBarButtonItem = barButton;
[activityIndicator startAnimating];
Run Code Online (Sandbox Code Playgroud)

  • 我注意到在iOS 7上你需要使用`activityIndi​​cator = [[UIActivityIndi​​catorView alloc] initWithActivityIndi​​catorStyle:UIActivityIndi​​catorViewStyleGray];`或者指针不会出现. (24认同)

小智 23

SWIFT代码:

let activityIndicator = UIActivityIndicatorView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
let barButton = UIBarButtonItem(customView: activityIndicator)
self.navigationItem.setRightBarButtonItem(barButton, animated: true)
activityIndicator.startAnimating()
Run Code Online (Sandbox Code Playgroud)


Zor*_*mic 13

您正在此处创建一个新的活动指示器视图,这很好,但您不是指状态栏中的活动指示器.

要在状态栏中显示活动指示器,只需调用:

[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
Run Code Online (Sandbox Code Playgroud)

  • 我想在导航栏中显示活动指示器 (5认同)

Axe*_*Axe 13

这在Swift中对我有用:

let activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView.init(activityIndicatorStyle: .White)
let refreshBarButton: UIBarButtonItem = UIBarButtonItem(customView: activityIndicator)
self.navigationItem.leftBarButtonItem = refreshBarButton
activityIndicator.startAnimating()
Run Code Online (Sandbox Code Playgroud)


evy*_*vya 5

在情节提要上:BarButtonItem在导航栏上创建。将 View 添加为您的儿子BarButtonItemActivityIndicator您的儿子View


Ham*_*med 5

迅速

  1. 连接UIBarButtonItemstoryboardyourViewController
  2. week从其定义中删除,例如:@IBOutlet var btNavigaitonRight: UIBarButtonItem!
  3. 使用这些方法启动和停止活动指示器:

    var activityIndicator = UIActivityIndicatorView()
    
    func startBarButtonIndicator() {
        activityIndicator = UIActivityIndicatorView(frame: CGRect(x: 0, y: 0, width: 20, height: 20))
        activityIndicator?.color = .gray
        let barButton = UIBarButtonItem(customView: activityIndicator!)
        self.navigationItem.setRightBarButton(barButton, animated: true)
        activityIndicator?.startAnimating()
    }
    
    func stopBarButtonIndicator() {
        activityIndicator?.stopAnimating()
        navigationItem.setRightBarButton(btNavigaitonRight, animated: true)
    }
    
    Run Code Online (Sandbox Code Playgroud)