【问题标题】:Setting navigationItem.leftBarButtonItem - why does it hide my back arrow button?设置 navigationItem.leftBarButtonItem - 为什么它隐藏我的后退箭头按钮?
【发布时间】:2010-03-21 21:00:18
【问题描述】:

当我这样做时:

    // --------------- SETTING NAVIGATION BAR LEFT BUTTON
    activityIndicator = [[UIActivityIndicatorView alloc] initWithFrame:CGRectMake(0.0,0.0,25.0,25.0)];
    [activityIndicator sizeToFit];
    activityIndicator.autoresizingMask =
    (UIViewAutoresizingFlexibleLeftMargin |
     UIViewAutoresizingFlexibleRightMargin |
     UIViewAutoresizingFlexibleTopMargin |
     UIViewAutoresizingFlexibleBottomMargin);

    UIBarButtonItem *loadingView = [[UIBarButtonItem alloc] 
                                    initWithCustomView:activityIndicator];
    //loadingView.target = self;
    self.navigationItem.leftBarButtonItem = loadingView;
    [activityIndicator startAnimating];
    // ---------------

它隐藏了我的后退箭头按钮(我用来返回上一个控制器的那个)......为什么会这样?!?

我应该如何在我的后退箭头旁边添加我的 activityIndi​​cator ? (我已经用过titleView和rightbarbuttonitem了)

【问题讨论】:

  • 关于如何创建嵌入活动指示器的自定义按钮有什么建议吗?

标签: iphone uinavigationbar uibarbuttonitem uiactivityindicatorview


【解决方案1】:

leftBarButtonItem 默认为后退箭头。当您将其设置为其他内容时,您将失去内置的后退按钮。

如果您需要一个带有活动指示器的自定义后退按钮,则必须自己提供,然后当按下按钮时,您需要调用

[self.navigationController popViewControllerAnimated:YES];

【讨论】:

  • 关于如何创建嵌入活动指示器的自定义按钮有什么建议吗?
  • 您必须创建一个视图并将两者放在适当的空间中。但我也不会将活动指示器放在条形按钮中。您可以将其放置在屏幕上的任何其他位置,甚至只需将其放在 UINavagationViewController 的视图上,将其放置在 barbutton 旁边的视图中。
  • 嗯......好主意......我认为这会更容易;)
猜你喜欢
  • 2021-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多