Iphone-涂抹视图和文本的滚动视图
我注册了keyboard show事件,并实现了如下方法:Iphone-涂抹视图和文本的滚动视图,iphone,objective-c,cocoa-touch,uikit,uiscrollview,Iphone,Objective C,Cocoa Touch,Uikit,Uiscrollview,我注册了keyboard show事件,并实现了如下方法: -(void) KeyboardDidShow:(NSNotification*)notif{ if (KeyboardVisible) { NSLog(@"Keyboard is already visible"); return; } NSDictionary* info = [notif userInfo]; NSValue* value = [info objectForKey:UIKeyboardBou
-(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;
}
在我的视图中,我有两个文本视图。
我的问题是:
当我将光标放在textView中,键盘弹出时,如果我上下使用视图光标,所有文本都会被涂抹,看起来就像两个textView的混合。
这个代码有什么问题吗?(实际上是从我正在读的一本书中摘取的)。
值得一提的是,最初视图是在没有滚动的情况下实现的,然后使用“在滚动视图中嵌入对象”命令添加了滚动功能。是
self.view
与滚动视图
相同吗?您可能应该使用滚动视图的框架作为更改的起点:
CGRect ViewFrame = scrollView.frame;
而不是
CGRect ViewFrame = self.view.frame;
还要仔细检查xib文件,确保两个文本视图都是滚动视图的子视图,而不是同级视图。也许您只嵌入了一个文本视图?Nope-man。所有文本视图实际上都是滚动视图的子视图,滚动视图是主视图的子视图。尝试执行u建议的操作(使用滚动视图框架)但无效。其他建议?Idan,您是否将
CALayer
(或其子类)与shouldRasterize=YES
一起使用?我这样做了,当在UIScrollView
中滚动这些层时,它产生了涂抹效果。