【问题标题】:Add two UITextView issue in iPhone?在 iPhone 中添加两个 UITextView 问题?
【发布时间】:2012-01-25 13:09:57
【问题描述】:

我通过这种方式在 iphone 中添加了两个 textview。我有两个 UITextView A 和 B。我像这样在 UITextView A 上添加了 UITextView B,

[A addSubview:B]; 
[self.view addSubview:A];

当我开始输入 textview 时,文本出现在两个 textview 中都很好。当文本达到帧大小的最后一行时,它开始在 textview B 中自动滚动,但是 textview A 不会自动滚动。可以添加 UITextView 的 UITextView 子视图并访问两个文本视图。谁能帮帮我吗。提前致谢。

【问题讨论】:

  • 您想通过一个 Outlet 访问两者吗?
  • Mr.skippy 感谢您的现场回复。是的,你完全正确。我想同时访问两者。如果键入 A ,则此字符要在两个文本视图中都输入。谢谢。
  • 你可以将文本从B复制到A,在UITextView的didTextChanged委托中。你可以使用标签值来区分A和B..
  • 您要在另一个 UITextView 中添加一个 UITextView?如果你问我,这是不好的做法。尝试使用UITextViewDelegate控制它们

标签: iphone ios uitextview subview


【解决方案1】:

你可以从

开始
- (BOOL) textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text

委托方法。在这种方法中,您可以将字符串/文本设置为 B 文本视图,例如:

- (BOOL) textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
   if (textView.tag == 1001] // Text view A
   {
      [tempString appendString:string]; // The tempString is mutable string
      textViewB.text = temp;
   }

    return TRUE;      
} 

希望它能给你一个想法。 (未经过全面测试的代码。)

【讨论】:

    【解决方案2】:

    @basvk 已经暗示了这个方向:不要将 UITextView 作为子视图放置在另一个 UITextView 中。这将导致未定义的行为。它们作为同一个父视图的子视图功能更好。创建一些方法来同时在两个 textView 中放置文本,但使用两个 outlet。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 2021-06-23
      • 1970-01-01
      • 2023-03-16
      相关资源
      最近更新 更多