UIPickerView没有出现在顶部

时间:2014-03-18 05:29:33

标签: ios uitextfield uipickerview

我正在尝试实施UIPickerView,我几乎已经完成了。但是当我单击文本字段时,文本字段后面会出现选择器视图。以下是显示选择器视图之前和之后的快照。

点击点击文字字段。

enter image description here

点击文字字段后。

enter image description here

在这里,您可以看到选择器视图位于文本字段后面。我希望它能在最前面。

编辑以下是我用来显示选择器视图的代码:

-(void) showPickerView 
{
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.50];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
    [self.view bringSubviewToFront:self.picker];

    CGSize iOSDeviceScreenSize = [[UIScreen mainScreen] bounds].size;
    if(iOSDeviceScreenSize.height == 480)
    {
        CGRect frame = self.picker.frame;
        frame.origin.y = 151.0;
        self.picker.frame = frame;
        frame = self.toolBar.frame;
        frame.origin.y = 107.0;
        self.toolBar.frame = frame;
    }
    else if(iOSDeviceScreenSize.height == 568)
    {
        CGRect frame = self.picker.frame;
        frame.origin.y = 239.0;
        self.picker.frame = frame;
        frame = self.toolBar.frame;
        frame.origin.y = 195.0;
        self.toolBar.frame = frame;
    }
    [UIView commitAnimations];
}

3 个答案:

答案 0 :(得分:1)

在视图层次结构中,文本字段可能位于pickerview之上。如果您使用的是xib / storyboard,请选择pickerview,然后从菜单中选择Editor> Arrange> Sent to Front。

如果您使用代码创建所有ui元素,请在添加文本字段后添加pickerview。或

[self.view bringSubViewToFront:pickerView];

答案 1 :(得分:0)

使用

  

[self.view bringSubViewToFront:pickerView]

除了请分享您的代码以获取更多解释,我们将帮助您。

答案 2 :(得分:0)

我解决了这个问题。事实上这是一个梅花的错误。我将pickerView放在其他视图之前。因此,当它出现在屏幕上时,会显示在textfield后面。我不得不把它放在.nib文件的底部。

在iOS中,之前添加的视图将落后于其他视图。我错过了这个概念。