我想在UIView
中显示UIAlert
,并且警报应显示在所有其他视图中,以及应用程序在后台运行时。可能吗 ?如果不是那我该怎么办?
答案 0 :(得分:1)
试用此代码: -
在viewdidload方法中:
-(void)viewDidLoad
{
flag=YES;
[super viewDidLoad];
}
N 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;
}
答案 1 :(得分:0)
当您的应用进入后台时,您在显示UIAlertView
时没有那么多访问权限,您可以尝试UILocalNotification
。
但我想你想要一个自定义的自定义弹出窗口。
尝试创建UIView
并设置Interface Builder
的属性。并添加为子视图。
UIView *v = [[UIView alloc] initWithFrame:CGRectMake(30, 30, 290, 290)];
[self.view addSubView:v];
但是一旦你的应用程序处于后台,就不能再做任何事了。
答案 2 :(得分:0)
您可以在UIAlertView中添加UIView,
但是你不能在后台运行应用程序,它只是通知风格。