-1

我想显示并且警报应该显示在所有另一个视图中,并且当应用程序在后台运行时也应该显示UIViewUIAlert是否可以 ?如果没有,那我该怎么做?

4

3 回答 3

1

试试这个代码: -

鉴于 didload 方法:

-(void)viewDidLoad
{
    flag=YES;
    [super viewDidLoad];
}

在 viewWillAppear 方法中:

-(void)viewWillAppear:(BOOL)animated
{
    v=[[UIView alloc]initWithFrame:CGRectMake(0, 490, 320, 300)];
    v1.layer.cornerRadius = 10.0;
    v1.clipsToBounds = YES;
    v1.frame=CGRectMake(0, 490, 320, 108);
}

-(IBAction)btn_Clicked
{

    if (flag == NO)
    {
        v=[[UIView alloc]initWithFrame:CGRectMake(0, 490, 320, 300)];
        v1.layer.cornerRadius = 10.0;
        v1.clipsToBounds = YES;
        v1.frame=CGRectMake(0, 490, 320, 108);

        v.hidden=NO;
        v.frame=CGRectMake(0, 0, 320, 460);
        v.backgroundColor=[UIColor colorWithWhite:0 alpha:0.2];
        [self.view addSubview:v];

        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:0.5];
        v1.frame=CGRectMake(69, 176, 185, 108);
        [v addSubview:v1];

        [UIView commitAnimations];

    }
    else
    {
        v.hidden=NO;
        v.frame=CGRectMake(0, 0, 320, 460);
        v.backgroundColor=[UIColor colorWithWhite:0 alpha:0.2];
        [self.view addSubview:v];

        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:0.5];
        //v1.backgroundColor=[UIColor colorWithWhite:0 alpha:0.3];
        v1.frame=CGRectMake(69, 176, 185, 108);
        [v addSubview:v1];

        [UIView commitAnimations];
    }

}

-(IBAction)cancel_Clicked
{
    flag=NO;
    v.hidden=YES;
}
于 2012-09-21T06:15:54.467 回答
0

当您的应用程序进入后台时,您没有太多的显示权限UIAlertView,您可以尝试UILocalNotification

但我猜你想要一个自定义弹出窗口,这是你自己的视图。

只需尝试UIViewInterface Builder. 并添加为子视图。

UIView *v = [[UIView alloc] initWithFrame:CGRectMake(30, 30, 290, 290)];
[self.view addSubView:v];

但是一旦你的应用程序处于后台,你就不能再做任何事情了。

于 2012-09-21T05:03:24.377 回答
0

您可以在 UIAlertView 中添加 UIView,
但在后台运行的应用程序不能,它只是通知样式。

于 2012-09-21T05:27:28.737 回答