ios - 当用户点击 "Back"按钮时调用委托(delegate)

标签 ios objective-c

当用户点击后退按钮时,我需要一种根据用户输入更改文本的方法。我遵循了该解决方案:Find out if user pressed the back button in uinavigationcontroller?

并在 viewDidLoad 中添加了以下代码:

if ([self isMovingFromParentViewController]) {
    NSLog(@"isMoved");
    [self.delegate stringChangedTo:self.myTextField.text atIndex:self.indexToPass];
}

然而,一切都没有改变。更重要的是,方法没有被调用(NSLog 不输出字符串)。

当用户点击后退按钮时,我如何找到调用委托(delegate)的方法?

最佳答案

该代码需要在 viewWillDisappear:viewDidDisappear: 中。不是 viewDidLoad

viewDidLoad 在加载 View Controller 的 View 时调用。你想在 View Controller 被关闭时调用委托(delegate)。

关于ios - 当用户点击 "Back"按钮时调用委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33792881/

相关文章:

Objective-C 快速枚举搜索不会中断

ios - UIActionSheet 被它的 super View 剪裁,我没有工具栏或标签栏

ios - 使用静态单元格创 build 置场景 - 附上屏幕截图和简单测试用例

ios - 下载错误 : CFNetworkDownload_<some id>. tmp 无法移动到 ""因为已存在同名项目

ios - 在 Objective c 的自定义 UITable View 中从服务中获取数据

ios - 将 NSDecimal 设置为零

iphone - 命令/Developer/usr/bin/ibtool 失败,退出代码为 10

ios - 快速搜索栏 Controller 与 TableView

objective-c - 如何在测试中将父类的扩展函数用于我自己的子类?

ios - 如何判断 NSLayoutConstraint 是水平的还是垂直的?