iPhone, как включить или отключить UITabBar

У меня есть простое приложение с панелью вкладок, которая основанный на вводе данных пользователем отключает один или несколько объектов панели. Я понимаю, что должен использовать UITabBarDelegate, который я попытался использовать. Однако, когда я называю метод делегата, я получаю ошибку неперехваченного исключения [NSObject doesNotRecognizeSelector]. Я не уверен, что делаю это хорошо или что я не пропустил что-то. Любые предложения.

Что я имею, теперь следующее:

WMViewController.h

#import <UIKit/UIKit.h>

#define kHundreds  0

@interface WMViewController : UIViewController <UITabBarDelegate, UIPickerViewDelegate, UIPickerViewDataSource>{

}

@end

WMViewController.m

#import "WMViewController.h"
#import "MLDTabBarControllerAppDelegate.h"

@implementation WMViewController

- (IBAction)finishWizard{
     MLDTabBarControllerAppDelegate *appDelegate = (MLDTabBarControllerAppDelegate *)[[UIApplication sharedApplication] delegate];
     [appDelegate setAvailabilityTabIndex:0 Enable:TRUE];


}

MLDTabBarControllerAppDelegate.h
#import <Foundation/Foundation.h>


@interface MLDTabBarControllerAppDelegate : NSObject <UITabBarDelegate>{

}

- (void) setAvailabilityTabIndex: (NSInteger) index Enable: (BOOL) enable;

@end


MLDTabBarControllerAppDelegate.m

#import "MLDTabBarControllerApplicationDelegate.h"
#import "MyListDietAppDelegate.h"


@implementation MLDTabBarControllerAppDelegate

- (void) setAvailabilityTabIndex: (NSInteger) index Enable: (BOOL) enable
{
UITabBarController *controller = (UITabBarController *)[[[MyOrganizerAppDelegate getTabBarController] viewControllers ] objectAtIndex:index];

[[controller tabBarItem] setEnabled:enable];
}

@end

Я получаю то, что, кажется, хороший объект контроллера, но катастрофический отказ на [[контроллер tabBarItem] setEnabled:enable];

Что я пропускаю...

Любые предложения

Спасибо,

8
задан willcodejavaforfood 19 April 2010 в 20:48
поделиться

1 ответ

Вам необходимо реализовать UITabBarControllerDelegate, в частности

- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController

, и вернуть NO для тех контроллеров просмотра, которые должны быть отключены.

3
ответ дан 5 December 2019 в 05:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: