2009-11-24 4 views
0

Я работаю над iPhone-приложением, не используя IB, и программно создал UITabbar с тремя элементами в UIViewController в приложении на основе представления, я использовал один метод делегата , которые не будут работать без последней строки в фрагменте ниже (метод setDelegate). У меня нет контроллера tabbarviewcontroller.Предупреждение iPhone SDK: класс MyAppViewController не реализует протокол UITabbarDelegate

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]; 

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

ответ

5

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

UITabBarDelegate_Protocol

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

– tabBar:didSelectItem: 

орудие, и вы будете в порядке.

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

@interface MyDelegate <UITabBarDelegate> 
+0

Я уже реализовал метод tabBar: didSelectItem и также объявлен в файле заголовка. Можете ли вы просто рассказать мне о последней строке вашего ответа? Я не понял. спасибо .. – pMan

+0

Я обновил ответ на примере –

+0

совершенным ... это была единственная проблема, и 15 баллов за вашу помощь! :) – pMan