使用 Xcode 6 和 iOS 8 SDK,最低支持 iOS 7。
这段代码在 iPhone 5s 8.0、iPhone 6 和 iPhone 6 Plus 上无法工作,但在 iPhone 5 8.0 和 iPhone 4s 8.0 上可以正常工作。
它只有一个文本框。文本框有一个 inputView 和 inputAccessoryView,用于显示日期选择器和带有一个按钮的工具栏。
我只做了足够说明问题的部分。在那些更高级别的模拟器上,只会显示工具栏而不是选择器。
这是模拟器的 bug 还是 iOS 8 的变化,仍然可以正常工作?
这段代码在 iPhone 5s 8.0、iPhone 6 和 iPhone 6 Plus 上无法工作,但在 iPhone 5 8.0 和 iPhone 4s 8.0 上可以正常工作。
它只有一个文本框。文本框有一个 inputView 和 inputAccessoryView,用于显示日期选择器和带有一个按钮的工具栏。
我只做了足够说明问题的部分。在那些更高级别的模拟器上,只会显示工具栏而不是选择器。
这是模拟器的 bug 还是 iOS 8 的变化,仍然可以正常工作?
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 43, 320, 480)];
pickerView.delegate = self;
pickerView.dataSource = self;
[pickerView setShowsSelectionIndicator:YES];
pickerView.backgroundColor = [UIColor whiteColor];
_textField.inputView = pickerView ;
_textField.delegate = self;
UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 56)];
toolbar.barStyle = UIBarStyleBlackOpaque;
[toolbar sizeToFit];
NSMutableArray *barItems = [[NSMutableArray alloc] init];
UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
[barItems addObject:flexSpace];
UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:nil];
[barItems addObject:doneBtn];
[toolbar setItems:barItems animated:YES];
_textField.inputAccessoryView = toolbar;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return 3;
}
@end
硬件 -> 键盘 -> 切换软键盘
吗? - CrimsonChris