我是新手,用目标C开发。
我正在编写一段代码,为我的应用程序安装一个插件。它下载.zip包,解压缩并将一些数据复制到我的sqlite数据库。
我有一个UIAlertView
在应用程序正在下载和解压缩时显示UIProgressView
,完成后我使用UIAlertView
方法添加到addButtonWithTitle
按钮。
我不知道为什么我的按钮出现在我的UIAlertView的左上角。
这是我的一段代码:
ventana = [[UIAlertView alloc] initWithTitle:[[NSString alloc] initWithFormat: @"Instalando %@", codigo]
message:@"Por favor, no apague el dispositivo ni cierre la aplicación." delegate:nil cancelButtonTitle:nil otherButtonTitles: nil];
actividad = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
actividad.frame = CGRectMake(20, 110, 20, 20);
progreso = [[UIProgressView alloc] initWithFrame:CGRectMake(50, 115, 215, 9)];
[ventana addSubview:actividad];
[actividad startAnimating];
[ventana addSubview:progreso];
[ventana show];
-- some stuff (downloading, uncompressing, updating my UIProgressView...) --
[progreso removeFromSuperview];
[actividad removeFromSuperview];
[ventana addButtonWithTitle:@"Aceptar"];
ventana.message = @"Instalación finalizada";
我有图片,但由于我是新用户,因此无法在此发布。
任何人都知道为什么我的按钮出现在我的UIAlertView(ventana)的左上角 谢谢!
答案 0 :(得分:3)
您使用UIAlertView
的方式有点......糟糕。您应该从不显示带有0按钮的UIAlertView,并将其用作“不关闭设备”消息是一个坏主意。警报视图的“已接受”用途是告诉用户刚刚发生的重要事情。但是,如果您坚持,默认情况下您应该有一个取消按钮,以便他们可以在需要时停止操作,然后在完成后添加按钮。尝试将按钮添加到不存在的按钮列表时,UIAlertView
可能会混淆(因为您使用0按钮对其进行了初始化)。
然而,更好的方法是在一般UIView
上下载(您有)时显示进度指示,其中UILabel
包含该消息。然后,当它完成后,更改标签以显示“Instalaciónfinalizada”消息,并在其下方显示一个按钮。我知道,它似乎只是复制你已有的东西,但在你的描述中没有任何地方我看到要求使用UIAlertView
。