Предупреждение iPhone SDK: класс MyAppViewController не реализует протокол «uitabbardelegate»

StackOverflow https://stackoverflow.com/questions/1788882

Вопрос

Я работаю над приложением для iPhone, не использую IB, и программно создал Uitabbar с тремя элементами в UiviewController в приложении, основанном на представлении, я использовал один метод делегата, который не будет работать без последней строки в приведенном ниже фрагменте (метод SetDelegate). У меня нет TabbarviewController.

    UITabBar *tabbar = [[UITabBar alloc] initWithFrame:CGRectMake(0, YMAX-60, XMAX, 40)];

    NSMutableArray *items = [[NSMutableArray alloc] initWithCapacity:3];
    [items addObject:[[[UITabBarItem alloc] initWithTitle:@"One" image:[UIImage imageNamed:@"img04.png"] tag:0] autorelease]];
    [items addObject:[[[UITabBarItem alloc] initWithTitle:@"Two" image:[UIImage imageNamed:@"img.png"] tag:1] autorelease]];
    [items addObject:[[[UITabBarItem alloc] initWithTitle:@"Three" image:[UIImage imageNamed:@"img-01.png"] tag:2] autorelease]];

    tabbar.items = items;
    tabbar.alpha = 1.0;
    tabbar.userInteractionEnabled = YES;
    [tabbar setBackgroundColor:[UIColor blueColor]];
    [tabbar setDelegate:self];

Можно ли устранить это предупреждение? Я не программист какао, иногда нужно работать на iPhone.

Это было полезно?

Решение

Чтобы избавиться от этого предупреждения, вы должны реализовать один необходимый метод протокола UITabBardelegate.

Uitabbardelegate_protocol

Вы можете видеть, что требуемый метод:

– tabBar:didSelectItem:

Реализуйте это, и все будет в порядке.

Не забудьте объявить в вашем файле заголовка, что вы реализуете протокол.

@interface MyDelegate <UITabBarDelegate>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top