은 내가 subview
내부에 다음과 같은 방법이 있습니다viewController 전환이 완료된 후 removeFromSuperview.
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self.delegate performSegueWithIdentifier:@"segueAdicionarRefeicaoSearch" sender:[NSString stringWithFormat:@"%@", self.arrayLabels[indexPath.row]]];
// Remove from Superview
[self.view removeFromSuperview];
}
이것이 코드 발생하면 performSegue
애니메이션이 완료되기 전에보기가 제거됩니다 및 시각적 효과가 매우 좋지 않은 것입니다.
[self.view performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:0.25f];
하지만 그 애니메이션의 TimeInterval
을 선택 너무 정비사 생각 :
나는 하나 개의 솔루션은 다음과 같이 뷰를 제거하는 것입니다 알고있다. 내가 사용할 수있는 것과 다른 뭔가가 있습니까?
내비게이션 스택에서 subview
색인을 얻을 수 있으며 다음보기의 viewDidAppear
에 도달하면 색인을 제거 할 수 있습니다. 그러나 나는 이것이 훨씬 더 복잡 할 것이라고 생각한다.
아이디어가 있으십니까?
왜 그것을 제거해야합니까? 왜'viewDidDisappear :'아닌가요? – Wain
다른'보기 '위에 내 화면의 절반을 차지하는'하위보기'입니다. 다른 뷰로 이동하여 다시 돌아온 후에이 하위 뷰는 여전히 존재합니다. 그래서 내가 제거해야 할 필요가 있다고 생각합니다. 내가하지 않니? 또는 나는 무엇인가 놓치고 있냐? 감사. – Jorge
의 하위보기가 무엇인지 알지 못해도 알 수 없습니다. 여전히 요구 사항을 기반으로해야합니까? 그렇지 않다면 ... – Wain