首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在从uinavigationbar中删除subViews

正在从uinavigationbar中删除subViews
EN

Stack Overflow用户
提问于 2013-02-12 17:06:38
回答 2查看 5.4K关注 0票数 1

嗨,要从UINavigation栏中删除标签,我使用以下代码。我有标签,按钮和导航栏中的subView的imageVIew。

代码语言:javascript
复制
   for (UIView *view in self.navigationController.navigationBar.subviews) {


    [view removeFromSuperview];
}

当我运行这段代码时,它删除了navigationBar的backGround镜像,我将其添加为

代码语言:javascript
复制
     [self.navigationController.navigationBar setBackgroundImage:[UIImagem imageNamed:@"header-background"] forBarMetrics:UIBarMetricsDefault];

删除subViews后,我添加了背景代理,但它没有添加。

有没有办法在不删除背景的情况下只删除导航栏的subViews。

EN

回答 2

Stack Overflow用户

发布于 2013-02-12 17:11:50

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

代码语言:javascript
复制
for (UIView *view in self.navigationController.navigationBar.subviews) {
    if (view.tag != 0) {
        [view removeFromSuperview];
    }
}
票数 4
EN

Stack Overflow用户

发布于 2013-02-12 17:19:02

尝尝这个,

代码语言:javascript
复制
for (UIView *view in self.navigationController.navigationBar.subviews) {

if([view isKindOfClass:[UIImageView class]])
{
  //change your bar image
 }
else
 {
[view removeFromSuperview];
 }
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14828938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档