是否可以在没有任何按钮的情况下创建UIAlertView?

时间:2012-12-23 14:28:35

标签: objective-c ios uialertview

我需要UIAlertView的帮助:-)。目前,当用户使用UIAlertView功能摇动设备时,我会显示-(void)motionEnded:。我希望使用NSTimer使警报视图在0.5秒后消失,因此我不需要警报视图底部的任何按钮来关闭它。有没有办法在没有任何按钮的情况下创建UIAlertView? [使用下图中箭头移除空间的方法?]

以下是代码:

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
    resetAlert = [[UIAlertView alloc] initWithTitle:@"Reset!"
                                            message:nil
                                           delegate:nil
                                  cancelButtonTitle:nil
                                  otherButtonTitles:nil, nil];
    [resetAlert show];

    alertHideTimer = [NSTimer scheduledTimerWithTimeInterval:10.5 target:self selector:@selector(dismissWithClickedButtonIndex:animated:) userInfo:nil repeats:NO];

    self.label.text = @"0";
    numero = 0;
    [self.label2 setHidden:YES];
}

enter image description here

5 个答案:

答案 0 :(得分:1)

是的。请尝试以下操作:iToast

答案 1 :(得分:1)

您可以创建自己的视图。根据您的要求,计时器等显示和隐藏/关闭它。

答案 2 :(得分:1)

我不确定具有多参数选择器的NSTimer是否正确。我添加了这个方法:

-(void)dismissAlertView:(UIAlertView*)alertView {
    [alertView dismissWithClickedButtonIndex:0 animated:NO];
}

并将您的NSTimer替换为:

[self performSelector:@selector(dismissAlertView:) withObject:resetAlert afterDelay:0.5];

答案 3 :(得分:1)

据我所知,完全删除空间是不可能的。

然而......这里有一些你可能想尝试的事情;

添加顶部填充

添加一些换行符以获得顶部填充:initWithTitle:@"\n\nConfiguring Preferences...

Top Padding Example http://iosdevelopertips.com/wp-content/uploads/2010/02/alert2-204x300.png

添加微调器

将UIActivityIndi​​catorView添加到UIAlertView

alert = [[UIAlertView alloc] initWithTitle:@"Configuring Preferences\nPlease Wait..." message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:nil];

[alert show];

UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

调整指示器,使其距离警报底部几个像素

indicator.center = CGPointMake(alert.bounds.size.width / 2, alert.bounds.size.height - 50);

[indicator startAnimating];

[alert addSubview:indicator];

Indicator Example http://iosdevelopertips.com/wp-content/uploads/2010/02/alert3-204x300.png

希望有所帮助。

答案 4 :(得分:0)

您可以在5秒后调用委托方法隐藏警报

[alert dismissWithClickedButtonIndex:0 animated:YES];