Storyboard, presentModalView, bringSubviewToFront

Storyboard, presentModalView, bringSubviewToFront 삽질기

사연은 이렇다.

기존에 잘되던 소스에서 Seque를 이용하면 tableview에서 선택한 셀의 내용이 seque보다 늦게 넘어가면서 문제가 되었다.

이를 수동으로 처리하다 보니
셀에서 선택을 하면 presentModalViewController 을 이용하여 넘겼는데 잘되었다.

하지만 문제는 overlay로 툴을 올렸는데 이게 보이지 않는게 문제였다.

이를 잡기 위해서 별의 별 방법을 다 해본거 같다.

처음엔
[self.view bringSubviewToFront:self.overlayView]; 
이 한줄이 안 먹는 줄 알았다.


관련 글을 찾아봐도 전부 옛날 글이라 
이런 생각이 문득 들었다.


혹시 스토리보드가 아닐까?
하지만 로그를 찍었을 때 자료는 잘 넘어오고
오버레이만 안되지 않았나...
또한 서브 뷰는 하단이 생성되지 않았었다.

스토리보드의 해당 뷰컨트롤러를 불러와서 처리하면 되지 않을까?
이런 생각은 왜 늦게 떠올라서 힘들었을까?

스토리보드에서 해당 뷰를 지정하고 넘겼더니 잘된다.



UIStoryboard*  sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
playerViewController* pv = [sb instantiateViewControllerWithIdentifier:@"playerViewController"];
[pv setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[self presentModalViewController:pv animated:YES];
이런식으로 선택된 셀에서 처리하는 메소드에 넣어 주었다.
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
이 메소드이다.

이제 받는 쪽에서는
UIView *preView = [self videoPreviewWithFrame:[self.view frame]];
[self.view addSubview:preView];
// 오버레이 앞으로 가져오기
[self.view bringSubviewToFront:self.overlayView]; 

역시 잘 된다.

항상 모든 문제는 기본에서 찾아야 해결책이 나온다.
기본에 충실하자.




댓글

이 블로그의 인기 게시물

한글 2010 에서 Ctrl + F10 누르면 특수문자 안뜰 때

아이폰에서 RFID 사용하는 방법

맥 화면이 안나올때 조치방법