UIPickerView在启动时冻结

时间:2010-11-23 22:10:58

标签: objective-c xcode

我遇到了一个奇怪的问题,我设法将UIActionSheet与UIPickerView混合在一起并从UITextField调用它们,但问题是为了使用UIPickerView我必须先点击/点击“完成”按钮。然后,选择器视图变得可用。但是,最初,当选择器视图出现时,它被冻结并且无法使用 - 车轮不会移动。只有在我点击“完成”后,背景变得更加透明,我可以在后台看到我添加到scrollView的其他UITextField,我可以在那一点上移动滚轮。因此,为了移动方向盘,我需要先点击“取消”或“完成”,它会在最初出现时冻结。

这是我的代码(其中一些来自研究)

 
myPicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0,185,0,0)];
myPicker.delegate = self;
myPicker.showsSelectionIndicator = YES;
UIActionSheet *menu = [[UIActionSheet alloc] initWithTitle:@"Title"    delegate:self cancelButtonTitle:@"Done" destructiveButtonTitle:@"Cancel" otherButtonTitles:nil];
[menu addSubview:myPicker];
[menu showInView:self.view];
[menu setBounds:CGRectMake(0,0,320, 700)];
[myPicker release];
[menu release];

我想到的解决方案是首次自动点击“完成”,这样用户无需点击“完成”即可使用滚轮,然后在选择滚轮时再次点击“完成” 。但我不确定这是正确的做法。

我也尝试过:


 [menu showInView:scrollView];

但结果是一样的 - 车轮不动。

有人知道我应该如何解决这个问题吗?

谢谢你, 胜者。

1 个答案:

答案 0 :(得分:0)

如果您以这种方式滥用UIActionSheet,您的应用程序将无法获得批准,并且它不是以这种方式工作的,并且(正如您已经发现的那样,并且就像我曾经尝试过的那样)它确实如此当你试图以这种方式使用它时有趣的事情。因此,努力让它发挥作用并不起作用。

您应该使用包含选择器的标准全屏视图,然后使用presentModalController:。您也可以手动将选择器添加为主视图的子视图,如果打算将其作为叠加层。