我有几个inputScreens,其中用户按下一个按钮,该按钮当前在其上打开另一个pickerScreen with a picker and several buttons

我不想将pickerScreen显示为完全覆盖inputScreens的全新屏幕,而是希望pickerScreen显示在inputScreen的顶部,

例如较小的屏幕居中并变灰并使其无法访问
只要显示inputScreen,基础pickerScreen

当前inputScreenspickerScreen是使用UIViewController实现的。 ...而pickerScreen完全取代了inputScreen

是否有一种简单的方法即可更改pickerScreen,使其显示在inputScreens的顶部?

非常感谢

最佳答案

制作一个UIView并在其上具有所需大小的选择器视图,然后将该视图隐藏在DidLoad视图中。当按下所需按钮时,取消隐藏该视图。然后在所有需要后将其隐藏。如此简单。否则进行调整Pickerview的大小根据需要。

UIView *whiteCoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 400)];
    whiteCoverView.alpha = 0.9;
    whiteCoverView.tag = 999;
    whiteCoverView.backgroundColor = [UIColor grayColor];
    [self.view addSubview:whiteCoverView];




    UILabel *label2 = [[UILabel alloc] initWithFrame:CGRectMake(0, 25, 320, 40)];
    label2.backgroundColor = [UIColor clearColor];
    label2.numberOfLines = 0;
    label2.font = [UIFont boldSystemFontOfSize:15.0];
    label2.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
    label2.textAlignment = UITextAlignmentCenter;
    label2.textColor = [UIColor whiteColor];
    label2.text = @"cfff";
    [whiteCoverView addSubview:label2];
    [label2 release];

    int gap = 10;

    UILabel *label3a = [[UILabel alloc] initWithFrame:CGRectMake(20, gap+50, 280, 15)];
    label3a.backgroundColor = [UIColor clearColor];
    label3a.numberOfLines = 0;
    label3a.font = [UIFont boldSystemFontOfSize:13.0];
    label3a.shadowColor = [UIColor colorWithWhite:0.0 alpha:0.5];
    label3a.textAlignment = UITextAlignmentCenter;
    label3a.textColor = [UIColor whiteColor];
    label3a.text = @"cfccc ";
    [whiteCoverView addSubview:label3a];
    [label3a release];

像这样添加选择器。
`

09-25 21:35