세 개의보기 컨트롤러가있는 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];
}
}
- 문제 : 내가 self.tabBar.viewControllers에서 viewcontrollers 대신 작성해야하는지. 나는 그것을 알 수 없었다.
- 문제 : TabBar.m의 메서드에서 루프를 구현 한 후에 해당 메서드를 호출하여 다른 viewcontroller에서 내 viewcontrollers에 연결할 수 있습니까?
왜 초기화 코드를 viewDidAppear에 넣지 않으시겠습니까? 그런 다음 'VC1'과'VC2'가 화면에 나타날 때마다 호출됩니다. –