ios - UIPickerView 动画隐藏和显示失败
<p><p>我的接口(interface)文件中有这个:</p>
<pre><code>#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
<UIPickerViewDataSource, UIPickerViewDataSource>
// PickerView Array
@property (strong, nonatomic) NSArray *pickerNames;
@property (strong, nonatomic) NSArray *pickerValues;
@property (strong, nonatomic) IBOutlet UIPickerView *picker;
- (IBAction)buttonSelectPicker;
@end
</code></pre>
<p>我的实现文件中有这个:</p>
<pre><code>- (void)viewDidLoad
{
;
// PickerView Array
_pickerNames = @[@"Data1", @"Data2", @"Data3", @"Data4", @"Data5"];
_pickerValues = @[@"val1", @"val2", @"val3", @"val4", @"val5"];
_picker.frame = CGRectMake(0, 1000, 320, 216);
}
</code></pre>
<p>所有这些代码现在都可以在我的 iPod (iOS 6.1.3) 上完美运行,但实际上我想做更多的事情时遇到问题......它们是......</p>
<ol>
<li><p>第一次加载应用时,UIPickerView 被隐藏(在屏幕区域之外)。我尝试通过添加这一行(在 <code>viewDidLoad</code> 上)但它不起作用。</p>
<p><code>_picker.frame = CGRectMake(0, 1000, 320, 216);</code></p></li>
<li><p>然后当用户点击 <code>buttonSelectPicker</code> 按钮时,UIPickerView 就会出现。这行代码也不起作用:</p>
<p><code>- (IBAction)buttonSelectPicker {
;
;
_pickerviewContainer.frame = CGRectMake(0, 289, 320, 216);
;
}</code></p></li>
<li><p>当用户点击 UIPickerView 区域外的任何地方时,它会隐藏 UIPickerView。我有这段代码可以关闭键盘,但我不知道如何修改以关闭 UIPickerView :</p>
<p><code>- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
for (UIView * txt in self.view.subviews){
if (]) {
;
}
}
}</code></p></li>
</ol>
<p>谢谢...</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您基本上是在重新创建 <code>inputView</code> 所做的事情。 UIKit 允许你定义任何自定义输入法,不仅仅是键盘,因此,你可以放置一个 <code>UITextField</code>,并设置 <code>inputView</code> 如下:</p>
<pre><code>UIPickerView *picker = [ initWithFrame:CGRectMake(0, 0, 320, 162)];
picker.dataSource = self;
picker.delegate = self;
self.textField.inputView = picker;
</code></pre>
<p>(选择器也可以从 Nib 加载)</p>
<p>然后你使用普通的方法来处理文本字段</p>
<pre><code>// Show keyboard/picker
// Dismiss keyboard/picker
</code></pre>
<p>当文本字段成为第一响应者时,将显示选择器而不是键盘。我不知道这是否适合您的需求,但请考虑将其作为一种替代的、更清洁的方式。</p></p>
<p style="font-size: 20px;">关于ios - UIPickerView 动画隐藏和显示失败,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/18778674/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/18778674/
</a>
</p>
页:
[1]