代码之家  ›  专栏  ›  技术社区  ›  Idan

iPhone-滚动视图涂抹视图和文本

  •  1
  • Idan  · 技术社区  · 15 年前

    我注册了键盘显示事件,并实现了如下方法:

    -(void) KeyboardDidShow:(NSNotification*)notif{
    
     if (KeyboardVisible)
     {
      NSLog(@"Keyboard is already visible");
      return;
     }
    
     NSDictionary* info = [notif userInfo];
    
     NSValue* value = [info objectForKey:UIKeyboardBoundsUserInfoKey];
     CGSize keyboardSize = [value CGRectValue].size;
    
     CGRect ViewFrame = self.view.frame;
     ViewFrame.size.height-=keyboardSize.height;
    
     scrollView.frame = ViewFrame;
     KeyboardVisible = YES; 
    
    }
    

    在我的视图中,我有两个文本视图。 我的问题是: 当我将光标放在text view中并弹出键盘时,如果我上下移动视图光标,所有文本都会被涂抹,看起来像是2个text view的混合。 这个代码有什么问题吗?(实际上是从我正在读的一本书上取的)。 值得一提的是,最初视图是在不滚动的情况下实现的,然后使用“在滚动视图中嵌入对象”命令添加滚动功能。

    1 回复  |  直到 15 年前
        1
  •  0
  •   Jason Foreman    15 年前

    self.view 一样 scrollView ?您可能应该使用滚动视图的框架作为更改的起点:

    CGRect ViewFrame = scrollView.frame;
    

    而不是

    CGRect ViewFrame = self.view.frame;
    

    另外,请仔细检查XIB文件,以确保两个文本视图都是滚动视图的子视图,而不是兄弟视图。也许您只嵌入了一个文本视图?