小编use*_*329的帖子

在Xcode 4.5.2和iOS 6下编译时,UIPickerView无法自动选择最后一行

我一直在试图诊断我的应用程序无法使用在旧版XCode下成功运行的代码自动预选UIPickerView的最后一行.我认为这是Xcode而不是iOS 6中的一个错误,因为我在iOS 6设备上运行的旧应用程序正常运行,但重新编译Xcode 4.5.2下的代码行为不正常.我已经将以下示例放在一起来演示问题,但在我提交错误报告之前,我希望本论坛上的其他人能够确定问题是否与我的代码有关,或者确实是Xcode/iOS中的错误.

我创建了一个单一的视图应用程序,并使用导航控制器和两个IBOutlet设置故事板,一个到UILabel,我在那里显示所选行,一个到UIPickerView.

这是我的自定义视图控制器的头文件:

#import <UIKit/UIKit.h>

@interface DisposableViewController : UIViewController
    <UIPickerViewDataSource, UIPickerViewDelegate>
@end
Run Code Online (Sandbox Code Playgroud)

这是我的自定义视图控制器的实现文件:

#import "DisposableViewController.h"

const NSInteger MAX_VALUE = 10;

@interface DisposableViewController ()

@property (weak, nonatomic) IBOutlet UIPickerView *pickerView;
@property (weak, nonatomic) IBOutlet UILabel *selectedValueLabel;

@end


@implementation DisposableViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
}


- (void)viewWillAppear:(BOOL)animated
{
    [self.pickerView reloadAllComponents];
    [self.pickerView selectRow:MAX_VALUE inComponent:0 animated:NO];
    self.selectedValueLabel.text = [NSString stringWithFormat:@"%d", [self.pickerView selectedRowInComponent:0]];
}


//**
//** UIPickerViewDataSource methods
//**

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 1;
}


- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{ …
Run Code Online (Sandbox Code Playgroud)

uipickerview ios6 xcode4.5

18
推荐指数
1
解决办法
2588
查看次数

标签 统计

ios6 ×1

uipickerview ×1

xcode4.5 ×1