两个导航视图之间的 UITextView 的内容处理

Posted

技术标签:

【中文标题】两个导航视图之间的 UITextView 的内容处理【英文标题】:content handling of UITextView between two navigation view 【发布时间】:2010-10-15 08:20:55 【问题描述】:

我有查看一个,它有一个表格单元格和一个保存按钮。

如果我触摸表格单元格,一个新的导航视图会滑入(view b)。在视图 b 中,我有一个 UITextView,我在其中键入了所有需要保存的上下文。当然,“视图 b”的左上角还有“返回”按钮。

'view a' 有一个保存按钮,它希望从我输入的'view b' 中保存 textView 的内容。保存是在 'view a' 而不是 'view b' 上完成的,因为实际上还有其他信息需要也可以保存在“视图 a”中。

为此,当我在“视图 b”的 textView 中输入完内容并返回“视图 a”(后退按钮或完成按钮)时,应该传递文本视图中的内容,而不是被蒸发掉以某种方式返回“视图 a”,以便在我按下保存按钮时保存。

我该怎么办? (我花了将近一整天的时间才弄清楚这一点..)

到目前为止,我正在考虑.. ?? = self.textView.text; at viewWillDisappear in 'view b'

非常感谢。

【问题讨论】:

【参考方案1】:

使用 TextView 的委托,并在它完成编辑后将其数据保存到 dalegete 类的字符串变量 然后从类 1 中保存它

这里是委托方法

- (void)textViewDidEndEditing:(UITextView *)textView 



     delegateObject.string=textView.text;
     //save to delegate class's string 


确保您首先初始化了委托类的字符串...

【讨论】:

感谢 Ranjeet sajwan 的提示。我想我可以做委托部分,但我怎样才能把它从第 1 课中保存下来呢?它是如何连接的?委托类是具有 textView 权利的一类吗? NO..我的意思是委托类只有那个字符串..看到我已经编辑了我的答案..实际上委托类首先加载并保持到最后..你必须制作对象并从那里访问字符串,就像访问字符串一样 天哪,我想我必须熟悉委托类......看起来就像数据桥一样工作......“委托类”是我的 AddDelegate.h/m 文件吗? 谢谢。我在我的委托类 (textViewString) 中创建了 NSString。然后我从具有 textView 的类中导入委托类。然后 MyAppDelegate *delegateObject = [[MyAppDelegate alloc] init]; delegateObject.textViewString = textView4Note.text;所以我成功地将文本视图中的数据移交给了类字符串。问题是当我尝试在“查看 a”时保存。我再次导入了委托类,并使用上面使用的相同代码对其进行了初始化。然后我尝试使用它->NSString *tempString4Save= delegateObject.textViewString;它不工作。 声明你的字符串 inMyAppDelegate.h 合成它然后在下面的 inMyAppDelegate.m 方法中初始化你的 textViewString - (void)applicationDidFinishLaunching:(UIApplication *)application textViewString=[[NSMutableString alloc]init]; 在类 3 中放置 #import"MyAppDelegate.h" 然后使其成为委托方法中的对象,我在我的回答中为您提供如下 MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];然后 appDelegate.textViewString=textView4Note.text;在课堂上做同样的事情 1

以上是关于两个导航视图之间的 UITextView 的内容处理的主要内容,如果未能解决你的问题,请参考以下文章

在 UITableViewCell 内展开 UITextView

SwiftUI 视图之间的导航

隐藏导航栏使视图中的所有内容变短

带有自定义 UITextView 单元格的 TableView 将导航栏滚动到屏幕外

IQKeyboardManager 从 UITextField 导航到 UITextView

如果 UITextView 是第一个子视图,那么在视图顶部和文本开头之间会出现一个大空间