AppDelegate.m applicationDidFinishLaunch 添加这几行代码并返回YES
UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = (id)navigationController.topViewController;
TabOneViewController.h 添加这几行代码:
#import <UIKit/UIKit.h>
@class DetailViewController;
@interface TabOneViewController : UIViewController
@property (nonatomic, strong) DetailViewController *detailViewController;
- (IBAction)SendData:(id)sender;
@end
TabOneViewController.m 添加这些代码:
#import "DetailViewController.h"
在 viewDidLoad 添加这行代码:
- (void)viewDidLoad
{
[super viewDidLoad];
// this code is very very important.
self.detailViewController = (DetailViewController *)[[self.splitViewController.viewControllers lastObject] topViewController];
}
在按钮操作方法中添加这行代码:
- (IBAction)SendData:(id)sender {
self.detailViewController.detailItem = @"Hello From First Tab";
}
在 DetailViewController 中执行以下操作:在 .h 文件中添加这些属性
@property (strong, nonatomic) id detailItem;
@property (weak, nonatomic) IBOutlet UILabel *detailDescriptionLabel;
在 .m 文件中添加以下内容
- (void)setDetailItem:(id)newDetailItem
{
if (_detailItem != newDetailItem) {
_detailItem = newDetailItem;
// Update the view.
[self configureView];
}
}
- (void)configureView
{
// Update the user interface for the detail item.
if (self.detailItem) {
self.detailDescriptionLabel.text = self.detailItem;
}
}
- (void)viewDidLoad
{
[super viewDidLoad];
// call the configureView method
[self configureView];
}
现在在添加到左侧面板的任何其他视图上,您必须复制用 TabOneController 编写的代码,它应该可以工作
现在完成它适用于任何类型的控制器非常简单的解决方案花了我一个多月的时间来解决它希望它可以帮助你们。