2011-02-08 3 views
0

친애하는 모든 - 탭 기반 응용 프로그램 (Xcode 예제 응용 프로그램으로 시작됨)이 있습니다.UITabBarController에서 다른보기의 개체의 .hidden 속성을 설정하는 방법

하나의 탭이 이미지를 선택하는 데 사용됩니다 (UIImagePickerController) - 의도 한대로 작동합니다. 다른 탭은 선택한 이미지가 포함 된 UIImageView를 통해 CoreGraphics를 표시하는 데 사용됩니다. 이것은 drawRect : Custom UIView의 메소드에서 수행됩니다.

새 이미지를 선택하면 UIView에서 인터페이스를 재설정해야합니다.

현재 내 UIView에는 -(IBAction)resetAll:(id)sender 메서드가 있습니다.이 뷰는 동일한 뷰의 버튼에서 모든 것이 의도 한대로 재설정됩니다. 나는 ViewController.m 파일의 viewWillAppear 방법에서 resetAll 메서드를 호출 할 때

그러나이 : ​​

- (void)viewWillAppear:(BOOL)animated { 

[super viewWillAppear:animated];  

TabBarEgAppAppDelegate *delegate = (TabBarEgAppAppDelegate *)[[UIApplication sharedApplication] delegate]; 


if(delegate.newphotopicked){ 

[myView resetAll:nil]; 

delegate.newphotopicked = NO; 

} 

가 트리거되는 resetAll 방법에 NSLog하지만 (예 : button.hidden = YES; 등) 매개 변수가 설정되지 않습니다 .

UIView가 TabBarViewController에 의해 어떤 방식으로 숨겨져 있기 때문입니까? 탭을 변경하면 다른 방법으로 내보기를 재설정 할 수 있습니까 (UIView는 viewWillAppear을 호출하지 않습니다)? 나에게 네게 시간을 내 주셔서 고마워! 하는 .m

- (void)viewDidLoad { 
myView = [[MyView alloc] initWithFrame:CGRectZero]; 

[myView resetAll:nil]; 호출에서 같은 효과가있는

MyView *myView; 

:

M

그냥 명확히하는 @의의 ViewController는하여 .H에 다음을 가지고 버튼 및 UIView (MyView) 자체에 포함 된 응용 프로그램의 어디서나 호출합니다.

내가 링크했거나 서브 클래 싱을 잘못했다는 것을 알았습니다 (제발 도와주세요).

답변

0

@

M이보기 만 탭이 표시되는 첫 번째 시간, 때마다 발생합니까? 콘센트 오브젝트가 아직 생성되지 않았으므로 아닐 가능성이 있습니다. NSLog 호출이있는 디버거에서이를 확인할 수 있습니다. 이것이 사실이라면 resetAll 함수를 viewDidAppear으로 옮기면 모든 것이 작동합니다.

+0

안녕하세요, Bogatyr, 도움 감사합니다. 그것은 ViewController에서 함수를 호출 할 때마다 발생합니다. 아울렛 객체는 거기에 있습니다 - 콘솔에 오류가 없으면 메소드가 먼저 작동중인 버튼에서 호출 된 경우에도 그렇지 않으면 동일한 동작을 제안합니다. viewWillAppear (이 동작은 나와 똑같은 동작)보다는 viewDiDAppear 메서드로 호출을 이동 하시겠습니까? 아니면 ViewController에서 함수를 정의한다는 의미입니까? 뷰 컨트롤러에서 정의한다면 (미안, 여기에 어리석은 질문을한다) 뷰에 속성을 설정하는 방법은 무엇입니까? – drmatt

+0

네, 모든 것을 그때까지 만들어야한다는 아이디어와 함께 DID에 대한 호출을 이동시킬 것을 제안했습니다. 이 두 메서드는 모두 UIViewController 클래스에 있으며 필요에 따라 구현할 수도 있고 구현하지 않을 수도 있습니다. UIViewController는 "view"라는 속성으로 뷰를 가지기 때문에 뷰 속성은 "self.view.property = value"에 의해 설정됩니다. 모든 것이 잘 풀렸습니까? 방금 네가 받아 들인 것 ... – Bogatyr

관련 문제