2

我设置了按钮,当它被点击时,会出现一个带有文本字段的警报视图。我想从该变量中获取数据并触发一个加法函数,该函数将文本字段的值添加到局部变量并在标签中显示数据。我怎样才能做到这一点?

4

3 回答 3

1

设置 的delegate属性UIAlertView并使该对象符合UIAlertViewDelegate。即回复alertView:clickedButtonAtIndex:,期间您可以查询textFieldAtIndex

于 2012-12-25T03:17:08.500 回答
0

我假设您已经获得了带有 UITextField 的 UIAlertView(使用 UIAlertViewStyleSecureTextInput、UIAlertViewStylePlainTextInput 或 UIAlertViewStyleLoginAndPasswordInput)。

我还将假设您已设置 UIAlertViewDelegate 以便在按下 UIAlertView 上的按钮时正确调用它。因此,要获取 UITextField 的值,请在alertView:clickedButtonAtIndex:您添加以下代码(假设只有一个 UITextField - 如果您有多个,只需更改传递给 textFieldAtIndex 的参数:

NSInteger textFieldValueAsInteger = [[alertView textFieldAtIndex:0].text integerValue];
NSInteger finalValue = textFieldValueAsInteger + someOtherIntegerThatYouAlreadyDeclared;

显示它在很大程度上取决于您的 UILabel 等设置,但基本上:

UILabel *labelToDisplayResults = [[UILabel alloc] initWithFrame:self.view.frame];
[self.view addSubview:labelToDisplayResults];

[labelToDisplayResults setText:[NSString stringWithFormat:@"%d", finalValue]];

那应该这样做。如果您有任何其他后续问题,请告诉我。

于 2012-12-25T03:18:30.217 回答
0

您需要为警报视图设置委托,并且该对象应采用UIAlertViewDelegate 协议。然后,代理将-alertView:willDismissWithButtonIndex:在解除警报之前收到一条消息。您的委托对该方法的实现可以从警报中的任何文本字段中获取文本——用于-textFieldAtIndex:获取不同的文本字段。

于 2012-12-25T03:18:47.177 回答