ios5,TSAlertView没有弹出,谁能告诉我为什么?

时间:2011-11-27 15:57:37

标签: iphone uibutton ios5 xcode4.2

它是单视图应用程序,我只需在它上面添加一个按钮 当我点击按钮时,它会显示键盘。 我无法在onBtn函数中自动释放TSAlertView。 谁能告诉我为什么,我真的很困惑。

- (void)viewDidLoad
{
    [super viewDidLoad];
    UIButton *btn  = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(30, 30, 100., 50);
    [btn setTitle:@"Test" forState:UIControlStateNormal];
    [btn addTarget:self action:(@selector(onBtn:)) forControlEvents: UIControlEventTouchUpInside];
    [btn setBackgroundColor:UIColor.greenColor];
    [self.view addSubview:btn];
}

-(void)onBtn:(id)sender{
    TSAlertView* av = [[TSAlertView alloc] init];
    av.title = @"Test";
    av.message = @"This is a test";
    [av addButtonWithTitle:@"cancel"];
    [av addButtonWithTitle:@"rename"];
    av.style =TSAlertViewStyleInput;
    av.buttonLayout = TSAlertViewButtonLayoutNormal;
    av.usesMessageTextView =NO;
    av.width = 0.0;
    av.maxHeight = 0.0;
    [av show];
}

enter image description here

2 个答案:

答案 0 :(得分:2)

您将AlertView的样式设置为Input,它会将其设置为第一个响应者并显示键盘。

av.style =TSAlertViewStyleInput;

尝试另一种风格。 ;)

答案 1 :(得分:1)

我没有使用过TSAlertView,但在浏览完代码后,你会尝试黑客攻击。在调用show之后,尝试重新启动第一个响应者:

[av show];
[av.inputTextField resignFirstResponder];

这可能有效,也可能无效。如果没有,你真的需要隐藏键盘,你可能想修改TSAlrtView类本身的通知代码。