Предупреждение iPhone SDK: класс MyAppViewController не реализует протокол «uitabbardelegate»
-
21-09-2019 - |
Вопрос
Я работаю над приложением для 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.
Вы можете видеть, что требуемый метод:
– tabBar:didSelectItem:
Реализуйте это, и все будет в порядке.
Не забудьте объявить в вашем файле заголовка, что вы реализуете протокол.
@interface MyDelegate <UITabBarDelegate>
Не связан с StackOverflow