当我在主视图控制器上输入文本字段时,我正在使用uipopover向用户显示迷你数字键盘。 当他们使用数字键盘输入数字时,我将该条目保存到我已命名为keypadvalue的nsstring属性中。 有一个unwind segue连接到popover上的一个完成按钮,它会触发以下代码。
- (IBAction)doneWithKeyboard:(UIStoryboardSegue *)segue
{
NSLog(@"unwind");
if ([segue.sourceViewController isKindOfClass:[KeyPopupViewController class]])
{
KeyPopupViewController *popOver2 = segue.sourceViewController;
activeField.text =popOver2.keypadValue;
}
}
我的主视图控制器上的activetextfield然后更新到kepadvalue,这一切都正常。
我现在的问题是,如果用户在uipopover外部按下,我希望activetextfield以相同的方式更新,并且在不触发unwind segue的情况下解除它。
我认为当popover解散时我可能会使用以下内容来执行更新
-(BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
{
activeField.text = controller.keypadValue;
return YES;
}
遗憾的是,尽管有多次尝试,但我无法让属性返回一个值,即使方法按预期方式触发,它也始终为null。
我应该如何使用此方法或其他方法从弹出框中恢复属性值? 我显然做错了什么 任何人都可以建议
感谢
答案 0 :(得分:0)
应该有所帮助:
-(BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController
{
[self.view endEditing:YES];
activeField.text = controller.keypadValue;
return YES;
}