我在左侧有一个带有5个按钮的Tabbar的Splitview。 每个选项卡都有一个带有tableview的导航控制器。
一些前提:
按钮5,头文件。
#import <UIKit/UIKit.h>
@class DetailViewiPad;
@interface TAB5 : UIViewController <UITableViewDataSource, UITableViewDelegate>
{
DetailViewiPad *detailViewController;
}
@property (nonatomic, strong) IBOutlet DetailViewiPad *detailViewController;
@end
按钮5,实现文件。
@implementation TAB5
@synthesize detailViewController;
[some code...]
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if ([key isEqualToString:@"A"]) {
[detailViewController setDetailItem:[websites objectAtIndex:row]];
} else if ([key isEqualToString:@"B"]) {
TableView2 *controller = [[TableView2 alloc] initWithNibName:@"TableView2" bundle:nil];
[self.navigationController pushViewController:controller animated:YES];
}
选项“A”完美工作,细节视图(右侧)显示其内容!
如果选择选项“B”(导航到TableView2),然后选择一行:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
DetailViewiPad *detailViewController =
[[DetailViewiPad alloc] initWithNibName:@"DetailViewiPad" bundle:nil];
[detailViewController setDetailItem:[websites objectAtIndex:row]];
详细信息视图无响应。如果您设置断点,您可以看到程序流进入详细信息视图并传递数据,但您无法在视图中看到更新(iPad设备)。
重复:程序流进入详细视图并传递数据但不刷新屏幕。
新类(TableView2.h,TableView2.m,TableView2.xib)与详细视图之间的连接似乎有些问题。某种代表问题。
答案 0 :(得分:0)
我找到了!!!!
太棒了!!!
前提:我的详细信息视图称为DetailViewiPad
这是关键,神奇的代码:
DetailViewiPad *detailViewController = (DetailViewiPad*)self.splitViewController.delegate;
[detailViewController setDetailItem:[websites objectAtIndex:row]];
这句话不正确:
DetailViewiPad *detailViewController = [[DetailViewiPad alloc] initWithNibName:@"DetailViewiPad" bundle:nil];
从子项目获取委托的关键表格视图到详细信息视图(在iPad Splitview中)是:
DetailViewiPad *detailViewController = (DetailViewiPad*)self.splitViewController.delegate;