本人开发一年左右,不多说附上代码.
lineView1=[[UIView alloc]initWithFrame:CGRectMake(soldBtn.frame.origin.x+soldBtn.frame.size.width/2-25, 38, 50, 2)];
lineView1.backgroundColor=[UIColor whiteColor];
[navigationView addSubview:lineView1];
[self.navigationController.navigationBar addSubview:navigationView];
自己在操作中发现,第一次进入这个方法,控件没有问题。当自己返回上一级再次进入时,发现上次创建的控件并没有被删除,一般的话不容易发现,我在对其进行透明度值操作时发现他的透明度始终不变,但是第一次就可以,后面自己用debug模式发现有两个重叠的view,这才发现销毁了控制器却并没有销毁navigationbar上的view。
-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[navigationView removeFromSuperview];
}
在退出前删掉就可以了。