Исходя из вашей формулировки, я предполагаю, что вы не подкласс UITabBarController.Я бы предложил иметь свойство на всех четырех контроллерах представления, что-то вроде theTabController
, которое указывает на экземпляр вашего класса.Объявите это свойство следующим образом (в подпредставлениях):
@class myTabController;
...
@interface MySubview : UIView {
...
myTabController * theTabController;
...
}
...
@property (nonatomic, assign) myTabController * theTabController;
Затем в реализации каждого подпредставления добавьте оператор синтеза.Также неплохо импортировать заголовок myTabController
в .m
, хотя у нас есть @class
в заголовке подпредставления.Я использовал @class
для предотвращения циклического импорта.
#import "myTabController."
...
@implementation MySubview
@synthesize theTabController;
...
@end
Начиная с myTabController
, вам нужно установить это свойство для каждого подпредставления следующим образом:
subview1.theTabController = self;
subview2.theTabController = self;
...
subviewx.theTabController = self;
Наконец, используйтеtheTabController
свойство sub внутри каждого подпредставления с self.theTabController
.
Я также должен отметить: никогда не стоит иметь имя класса, начинающееся со строчной буквы.myTabController
действительно должно быть MyTabController
.