嗨,要从UINavigation栏中删除标签,我使用以下代码。我有标签,按钮和导航栏中的subView的imageVIew。
for (UIView *view in self.navigationController.navigationBar.subviews) {
[view removeFromSuperview];
}当我运行这段代码时,它删除了navigationBar的backGround镜像,我将其添加为
[self.navigationController.navigationBar setBackgroundImage:[UIImagem imageNamed:@"header-background"] forBarMetrics:UIBarMetricsDefault];删除subViews后,我添加了背景代理,但它没有添加。
有没有办法在不删除背景的情况下只删除导航栏的subViews。
发布于 2013-02-12 17:11:50
一种快速的选择是将一个值添加到要删除的视图的tag属性中,并在删除子视图之前检查它,例如,假设您向子视图添加了一个非零值:
for (UIView *view in self.navigationController.navigationBar.subviews) {
if (view.tag != 0) {
[view removeFromSuperview];
}
}发布于 2013-02-12 17:19:02
尝尝这个,
for (UIView *view in self.navigationController.navigationBar.subviews) {
if([view isKindOfClass:[UIImageView class]])
{
//change your bar image
}
else
{
[view removeFromSuperview];
}
}https://stackoverflow.com/questions/14828938
复制相似问题