Ios 带有UIPickerView的静态UITableViewController无法加载UIPickerView

Ios 带有UIPickerView的静态UITableViewController无法加载UIPickerView,ios,uitableview,storyboard,uipickerview,Ios,Uitableview,Storyboard,Uipickerview,我正在通过情节提要在静态UITableViewCell中配置UIPickerView。由于某些原因,加载控制器时不会出现UIPickerView 故事板: UIPickerView是单元格内容视图的子视图…表视图配置为显示静态单元格。分组样式 UIPickerView委托和数据源作为情节提要连接检查器中的插座连接到UITableViewController: 如果我以编程方式在viewDidLayoutSubviews回调中向表单元格添加Picker视图,则会出现PickerView,并触发委

我正在通过情节提要在静态UITableViewCell中配置UIPickerView。由于某些原因,加载控制器时不会出现UIPickerView

故事板:

UIPickerView是单元格内容视图的子视图…表视图配置为显示静态单元格。分组样式

UIPickerView委托和数据源作为情节提要连接检查器中的插座连接到UITableViewController:

如果我以编程方式在viewDidLayoutSubviews回调中向表单元格添加Picker视图,则会出现PickerView,并触发委托回调,以便可以使用数据配置Picker。titleForRow等:

在TableViewController.m中:

    // Can't figure out why - but regionPicker view can't be added in viewDidLoad, so it gets added here
- (void) viewDidLayoutSubviews {
    // For some reason regionPicker view gets pushed to top of view unless setting x & y to 0,0 here...
    [self.regionPicker setFrame:CGRectMake(0, 0, 320, 162)];
    // Add the regionPicker view as a subview to the regionPickerCell
    [self.regionPickerCell.contentView addSubview:self.regionPicker];    
}
这会导致选择器的正确初始化出现问题,因为每次在UIPIckerView中进行新选择时都会调用viewDidLayoutSubviews

以下是我的TableViewController.h文件的外观:

@import UIKit;

@class DetailViewController;

@interface DetailViewController : UITableViewController<UIPickerViewDataSource, UIPickerViewDelegate>

@property (weak, nonatomic) IBOutlet UITableViewCell *regionCell;
@property (weak, nonatomic) IBOutlet UITableViewCell *regionPickerCell;
@property (weak, nonatomic) IBOutlet UIPickerView *regionPicker;

@end
非常感谢您的任何想法


Xcode v6.1,SDK v8.1解决了这个问题,我从情节提要中删除了这个控制器中现有的选择器视图,然后将每个视图都添加回来


由于某种原因,选择器视图在情节提要视图中变灰。在删除选择器视图并将其添加回后,上面的第一张图片没有变灰。我不知道为什么Picker视图一开始就变灰了,或者从故事板上看这意味着什么,但希望这将对将来的人有所帮助。

您是否检查了单元格的ReuseIdentifier?表视图单元格的高度是多少?并检查设置的值是否正确。@Utkarshssingh-我没有使用reuseIdentifier…这些单元格是静态的。@YogeshSuthar-包含的单元格在情节提要中的大小检查器中设置为164px高。我很确定,当视图加载时,高度不是0。另外,在调试器中,在viewDidLoad中,我可以执行po self.regionPickerCell.contentView.SubView,并且我看到没有任何子视图。以编程方式在viewDidLayoutSubviews中添加UIPIckerView后为空数组。选择器确实出现在指定的单元格中。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"configNotification"]) {

        UINavigationController *navigationController = segue.destinationViewController;
        // Here's the UITableViewController in question...
        DetailViewController *detailViewController = [navigationController viewControllers][0];

        NSIndexPath *selectedPath = [self.tableView indexPathForCell:sender];
    }
}