Я создаю универсальное приложение, которое использует UISplitView внутри UITabBar.Все работает нормально (навигация по TabBar, PopOver, SplitView, отображаемая как в книжной, так и в альбомной ориентации, ...) за исключением того, что когда я выбираю элемент из корневого SplitView (то есть UITableViewController), представление Подробности SplitView не изменяется... и что еще более странно, только элементы управления интерфейса не будут обновляться - все переменные и методы вызываются и используются правильно.
Вот мой код:
Блок кода из AppDelegate.h:
@interface DicionarioAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UITabBarController *tabBarController;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
Блок кода из AppDelegate.m (если iPad):
iPadRootController* rootVC = [[[iPadRootController alloc] initWithNibName:@"iPadSearch" bundle:nil] autorelease];
iPadDetailsController* detailsVC = [[[iPadDetailsController alloc] initWithNibName:@"iPadDetails" bundle:nil] autorelease];
UISplitViewController* splitViewController = [[UISplitViewController alloc] init];
splitViewController.viewControllers = [NSArray arrayWithObjects:rootVC, detailsVC, nil];
splitViewController.delegate = detailsVC;
splitViewController.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Search"
image:[UIImage imageNamed:@"search.png"]
tag:0];
// Add them as children of the tab bar controller
tabBarController.viewControllers = [NSArray arrayWithObjects:
splitViewController,
secondController,
thirdController,
nil];
[splitViewController release];
Блок кода из iPadRootViewController.h:
@property (nonatomic, retain) iPadDetailsController *detailsController;
Блок кода из iPadRootViewController.m (при выборе элементов):
iPadDetailsController *newDetailViewController = [[iPadDetailsController alloc] initWithNibName:@"iPadDetails" bundle:nil];
self.detailsController = newDetailViewController;
self.detailsController.detailItem = id;
Блок кода из iPadDetailViewController.h:
@property (nonatomic, retain) IBOutlet UILabel *someLabel;
А в iPadDetailsViewController.m я могу присвоить значение detailItem переменной (и все методы работают), но все, что связано с интерфейсом, остается пустым.Блок кода:
if (detailItem != newDetailItem) {
[detailItem release];
detailItem = [newDetailItem retain];
self.word = [detailItem description];
self.someLabel.text = [detailItem description];
//Update the view
...
}
В этом случае self.word получает правильное значение, но текстовое свойство self.someLabel не будет (остается нулевым).Я новичок в программировании для iPhone / iPad, но я верю, что правильно связываю все розетки.
Пожалуйста, помогите мне ... Я схожу с ума по этому вопросу.Любые идеи приветствуются!
Я использую XCode 4. Спасибо!