嗨我的UI Picker不再适用于iOS7,它弹出但是它是空白的。只发生在iOS7上。
//picker
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
animationsLabel.text = [optionsArray objectAtIndex:[picker selectedRowInComponent:0]];
if (pickerView==animationsPicker) {
animationsLabel.text = [optionsArray objectAtIndex:[animationsPicker selectedRowInComponent:0]];
}
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{
return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{
return [optionsArray count];
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{
return [optionsArray objectAtIndex:row];
NSLog(@"title options array %lu",(unsigned long)optionsArray.count);
}
行动:
-(IBAction)animationActionSheet:(id)sender {
UIActionSheet *selectPopup = [[UIActionSheet alloc] initWithTitle:@"\n\n\n\n\n\n\n\n"
delegate:nil
cancelButtonTitle:nil
destructiveButtonTitle:nil
otherButtonTitles:nil];
[selectPopup showInView:self.view];
optionsArray = [[NSMutableArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"6",@"5",@"7",@"8",@"9", nil];
// Create picker
animationsPicker = [[UIPickerView alloc] initWithFrame:CGRectMake(10, 160, 320, 100)];
animationsPicker.showsSelectionIndicator = YES;
[self.view addSubview:animationsPicker];
animationsPicker.delegate = self;
animationsPicker.dataSource = self;
[selectPopup addSubview:animationsPicker];
// Animate picker opening
[UIView beginAnimations:nil context:nil];
[selectPopup setBounds:CGRectMake(0, 0, 320, 485)];
[UIView commitAnimations];
}
这是我到目前为止所尝试的。以前在Action表中显示选择器从来没有问题,但现在它是空白的。我想知道其他人是否遇到过这个问题,或者你能看到任何错误吗?我打印了与拾取器有关的一切。
答案 0 :(得分:5)
有人告诉我,将拣选员放入行动表是不合标准的。我在iOS 6中从未遇到任何问题,但在iOS 7中,我遇到了错误。我切换到UIView而不是我的选择器的动作表,它工作正常。我希望这会有所帮助。
答案 1 :(得分:2)
根据文档,不建议在操作表中添加子视图。
“Subclassing Notes UIActionSheet不是设计为子类,也不应该为其层次结构添加视图。如果您需要提供比UIActionSheet API提供的更多自定义的工作表,您可以创建自己的工作表并使用presentViewController以模态方式呈现它:animated:completion :.“
Apple正在加强他们对Action Sheets的使用......他们提高了这个在iOS 7中工作的赌注,这意味着你必须围绕它进行编码。
答案 2 :(得分:0)
看看我做的这个项目。这与在操作表https://github.com/DiscoverPioneer/PickerSlider
中包含选择器几乎完全相同