带有故事板的 UISplitViewController

Posted

技术标签:

【中文标题】带有故事板的 UISplitViewController【英文标题】:UISplitViewController with story board 【发布时间】:2011-10-31 07:03:11 【问题描述】:

我正在为 iPad 应用程序使用带有拆分视图控制器的故事板。并将其初始设置为拆分视图控制器。我正在通过数组填充主视图控制器。 'feature' 是我声明方法的 NSObject 类:

- (feature *)initWithName:(NSString *)name iconName:(NSString *)iconName featuresofiphone:(iphoneFeatures)featuresofiphone;
并返回 .m 类中定义的 NSString 类型的名称、iconName、featuresofiPhone . 这是我在 didFinishLaunchingWithOptions 的代码:
NSMutableArray *monsters = [NSMutableArray array];
[monsters  addObject:[[[feature alloc] initWithName:@"iphone3g" 
iconName:@"iphone3g.jpg" featuresofiphone:iphone3gf] autorelease]];

[monsters addObject:[[[feature alloc] initWithName:@"iphone3gs"  
iconName:@"iphone3gs.jpg" featuresofiphone:iphone3gsf] autorelease]];

[monsters addObject:[[[feature alloc] initWithName:@"iphone4g"  iconName:@"iphone4g.jpg"  
featuresofiphone:iphone4gf] autorelease]];

 MasterViewController *masterDetailViewController = [[MasterViewController alloc]init];
masterDetailViewController.iphones  = iphonesarray;

UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = (id)navigationController.topViewController;
return YES;

但它的例外:

 异常 'NSRangeException',原因:'-[UITableView scrollToRowAtIndexPath:atScrollPosition:animated:]: 第 (0) 节的行 (0) 超出边界 (0)。'
在主视图控制器中:
-(void)viewDidLoad

  [super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
 self.detailViewController = (DetailViewController *) 
 [[self.splitViewController.viewControllers lastObject] topViewController];
 [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] 
 animated:NO scrollPosition:UITableViewScrollPositionMiddle];

并且控制也没有到达 cellForRowAtIndexPath - 方法。帮帮我!!

【问题讨论】:

【参考方案1】:

您没有足够的单元格,只需注释该行

    [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] animated:NO scrollPosition:UITableViewScrollPositionMiddle];

它试图滚动到一个不存在的单元格。

【讨论】:

以上是关于带有故事板的 UISplitViewController的主要内容,如果未能解决你的问题,请参考以下文章

带有故事板的 CollectionView 样式

带有 ios 故事板的标签栏

为啥在我的基于 macOS 文档的应用程序中没有调用带有故事板的 applicationDidFinishLaunching?

带有故事板的自定义静态 TableView - 单元格背景

swift3中的导航问题,带有没有故事板的.xib文件

带有 Swift 和 iOS 8 故事板的登录屏幕