2014-10-25 3 views
-1

스토리 보드에서로드하는 사용자 정의보기 컨트롤러가 있습니다. 하위 뷰 중 하나를 설정하려고하면 아무 일도 일어나지 않습니다 (일반 흰색보기로 유지됨). VC.view를 설정하려고하면 잘 동작하지 않는다. 왜 이런거야? 스토리 보드에서로드 한 후 모든 것이 초기화 된 것처럼 보입니다. VS의 하위보기는 어디에서 설정합니까?뷰 컨트롤러 설정 스토리 보드에서로드 된 하위 뷰

+1

"해당 하위보기 중 하나를 설정"한다는 것은 무엇을 의미합니까? 이 작업을 수행하는 데 사용중인 코드를 표시하십시오. – rdelmar

답변

0

예,이 약간 혼란스러운 동작은 '가정 된'작동 방식입니다. 뷰 컨트롤러가로드 될 때 뷰가 실제로는 필요하지 않을 때까지는 그렇지 않습니다. 자세한 내용은 this doc을 참조하십시오. 뷰 컨트롤러가 표시 될 때만 뷰가로드됩니다. 발견 한 것처럼 이것은 종종 서브 뷰의 일부 속성을 으로 설정하기 전에 prepareForSegue 또는 presentViewController:보다 앞에 표시됩니다 (예 : prepareForSegue 또는 pushViewController: 또는 presentViewController:).

관찰 한 내용에 기반한 해결 방법이 있습니다. 뷰 속성에 직접 액세스하면 뷰 컨트롤러는 뷰와 모든 하위 뷰를 즉시로드합니다. 따라서 하위 뷰 속성을 설정하려면보기 자체를 "터치"하십시오.

NSLog(@"View tag is %i", viewController.view.tag); 

그러면 하위 뷰에 액세스 할 수 있어야합니다.

또는보기 컨트롤러의 (UI가 아닌) 속성에서 관련 데이터를 전달한 다음 viewDidLoad 또는 viewWillAppear 동안 해당 데이터를 사용하여 하위 뷰를 설정할 수 있습니다.

+0

뷰 컨트롤러의 임시 속성에 표시 할보기를 전달하려고 시도한 다음 viewDidLoad/viewWilLAppear의 올바른 하위보기로로드했지만 여전히 작동하지 않습니다. 현재 뷰를 표시 할 수있는 유일한 방법은 subControl이 아닌 viewControllers 뷰로 설정하는 것입니다. 답변을 주셔서 감사합니다. 내가 잘못하고있는 것에 대한 다른 아이디어가 있습니까? – i2Fluffy

+0

일부 코드를 게시하면 누군가가 생각을하게됩니다. 그리고 아마도 당신이 달성하고자하는 것을 조금 더 설명하십시오. – pbasdf

관련 문제