繁体   English   中英

显示按钮后如何在UIAlertView上显示按钮

[英]How do I display a button on a UIAlertView after displaying it

我是新手,使用目标C进行开发。

我正在编写将插件安装到我的应用程序的一段代码。 它下载一个.zip软件包,解压缩并将一些数据复制到我的sqlite数据库中。

我有一个UIAlertView ,它在应用程序下载UIProgressView压缩时显示一个UIProgressView ,完成后,我使用addButtonWithTitle方法向UIAlertView添加了一个按钮。

我不知道为什么我的按钮出现在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)的左上角。谢谢!

您使用UIAlertView方式有点...不好。 show a UIAlertView with 0 buttons, and using it as a 'don't turn off the device' message is a bad idea. 显示带有0个按钮的UIAlertView,将其用作“请勿关闭设备”消息是一个坏主意。 警报视图的“接受”用法是告诉用户刚刚发生的重要事情。 但是,如果您坚持要执行,则默认情况下应该在其中有一个“取消”按钮,以便他们可以根据需要停止操作,然后在完成后添加按钮。 尝试将按钮添加到不存在的按钮列表时, UIAlertView可能会感到困惑(因为您使用0个按钮对其进行了初始化)。

但是,更好的解决方法是在带有包含消息的UILabel的常规UIView上下载(具有)时显示进度指示器。 然后,完成后,更改标签以显示“Instalaciónfinalizada”消息,并在其下方显示一个按钮。 我知道,这似乎只是在复制您已经拥有的内容,但是您的描述中没有任何地方看到需要使用UIAlertView

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM