【问题标题】:Removing subViews from uinavigationbar从 uinavigationbar 中删除子视图
【发布时间】:2013-02-12 09:06:38
【问题描述】:

嗨,要从 UINavigation 栏中删除子视图,我正在使用以下代码。我在导航栏中将标签、按钮和 imageVIew 作为子视图。

   for (UIView *view in self.navigationController.navigationBar.subviews) {


    [view removeFromSuperview];
}

当我运行它时,它正在删除我添加为的导航栏的背景图像

     [self.navigationController.navigationBar setBackgroundImage:[UIImagem imageNamed:@"header-background"] forBarMetrics:UIBarMetricsDefault];

删除子视图后,我正在添加背景,但它没有添加。

有什么方法可以只删除导航栏的子视图而不删除背景。

【问题讨论】:

    标签: iphone ios uinavigationcontroller uiimageview subviews


    【解决方案1】:

    一个快速的选项是向您要删除的视图的tag 属性添加一个值,并在删除子视图之前检查它,例如,假设您向子视图添加一个非零值:

    for (UIView *view in self.navigationController.navigationBar.subviews) {
        if (view.tag != 0) {
            [view removeFromSuperview];
        }
    }
    

    【讨论】:

      【解决方案2】:

      试试这个,

      for (UIView *view in self.navigationController.navigationBar.subviews) {
      
      if([view isKindOfClass:[UIImageView class]])
      {
        //change your bar image
       }
      else
       {
      [view removeFromSuperview];
       }
       }
      

      【讨论】:

        猜你喜欢
        • 2011-12-06
        • 2011-01-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-04
        • 2016-04-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多