2013-05-22 4 views
0

세 개의보기 컨트롤러가있는 UITabBar 컨트롤러가 있습니다. 맵보기 컨트롤러와 테이블 뷰 컨트롤러 인 내 두보기 컨트롤러를 새로 고치려고합니다. 슬라이드의 동작과 세 번째보기 컨트롤러에서. 여기 내가 시도한 것 :슬라이더의 동작에서 다른보기 컨트롤러를 새로 고침하는 방법

- (IBAction)actionMySlider:(id)sender{ 
    NSNumberFormatter* numberFormatter = [[NSNumberFormatter alloc] init]; 
    [numberFormatter setFormatterBehavior: NSNumberFormatterBehavior10_4]; 
    [numberFormatter setNumberStyle: NSNumberFormatterDecimalStyle]; 
    NSString *numberString = [numberFormatter stringFromNumber: [NSNumber numberWithInteger: mySlider.value]]; 
    MetreLabel.text = [NSString stringWithFormat:@"Yarı Çap(Re): %@(m)",numberString]; 
    [(AppDelegate *)[[UIApplication sharedApplication] delegate] setVariable:[NSString stringWithFormat:@"%f",mySlider.value]]; 


    ViewController1 *VC1=[[ViewController1 alloc]init]; 
    [VC1 viewDidLoad]; 
    ViewController2 *VC2 = [[ViewController1 alloc]init]; 
    [VC2 viewDidLoad]; 

} 

답장을 보내 주셔서 감사합니다.

편집 내 대답은 내 TabBar.m에 대한 루프를 구현하는 대답에 따르면. 하지만이 구현하는 동안 몇 가지 문제가 있습니다.

for (UIViewController *v in self.tabBar.viewControllers) 
{ 
    UIViewController *vc = v; 

    if ([v isKindOfClass:[UINavigationController class]) 
    { 
     vc = [v visibleViewController]; 
    } 

    if ([vc isKindOfClass:[MyViewController class]]) 
    { 
      MyViewController *myViewController = vc; 
      [vc doSomething]; 
    } 
} 
  1. 문제 : 내가 self.tabBar.viewControllers에서 viewcontrollers 대신 작성해야하는지. 나는 그것을 알 수 없었다.
  2. 문제 : TabBar.m의 메서드에서 루프를 구현 한 후에 해당 메서드를 호출하여 다른 viewcontroller에서 내 viewcontrollers에 연결할 수 있습니까?
+0

왜 초기화 코드를 viewDidAppear에 넣지 않으시겠습니까? 그런 다음 'VC1'과'VC2'가 화면에 나타날 때마다 호출됩니다. –

답변

0

ActionMySlider 메소드에서 ViewController1 및 ViewController2의 새 인스턴스를 모두 할당합니다. 탭 막대 컨트롤러의보기 컨트롤러와 다릅니다.

탭 표시 줄 자체에서보기 컨트롤러에 액세스 해보십시오. 여기 대답 할 것입니다 :

UITabBarController - How to access a view controller?

그리고 당신은 당신이 슬라이더 값 뒤에 ViewController1과 ViewController2에 대한 EXECUTE의 viewDidLoad에서 밖으로 변경하고 별도의 방법을 만들고 싶어 코드의 그 라인을 시도한다. 그런 다음 전체 viewDidLoad를 호출하지 않고 해당 메소드를 호출 할 수 있습니다.

+0

내 문제의 for 루프를 사용해야합니까? – user2393702

+0

@ user2393702 예, for 루프를 사용하여 적절히 조정하십시오. –

+0

수정 된 질문을 참조하십시오. – user2393702

관련 문제