您好要从UINavigation栏中删除SubView,我正在使用以下代码。我在导航栏中具有标签,按钮和imageVIew作为subView。

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


    [view removeFromSuperview];
}

当我运行它时,它正在删除我添加为的NavigationBar的backGround图像
     [self.navigationController.navigationBar setBackgroundImage:[UIImagem imageNamed:@"header-background"] forBarMetrics:UIBarMetricsDefault];

删除subViews后,我正在添加背景agin,但未添加。

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

最佳答案

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

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

关于iphone - 从uinavigationbar移除subViews,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14828938/

10-13 04:21