我设置了按钮,当它被点击时,会出现一个带有文本字段的警报视图。我想从该变量中获取数据并触发一个加法函数,该函数将文本字段的值添加到局部变量并在标签中显示数据。我怎样才能做到这一点?
3 回答
设置 的delegate
属性UIAlertView
并使该对象符合UIAlertViewDelegate
。即回复alertView:clickedButtonAtIndex:
,期间您可以查询textFieldAtIndex
。
我假设您已经获得了带有 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]];
那应该这样做。如果您有任何其他后续问题,请告诉我。
您需要为警报视图设置委托,并且该对象应采用UIAlertViewDelegate 协议。然后,代理将-alertView:willDismissWithButtonIndex:
在解除警报之前收到一条消息。您的委托对该方法的实现可以从警报中的任何文本字段中获取文本——用于-textFieldAtIndex:
获取不同的文本字段。