本人開發一年左右,不多說附上代碼.
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];
}
在退出前刪掉就可以了。