我有ViewController
(UITextField
顶视图)和UITextView
(底视图)。当用户开始编辑它时,我想移动UITextView
到视图的顶部。当用户开始编辑UITextView
一切都很好,但是当用户首先想要编辑UITextField
然后UITextView
(不隐藏键盘)它不起作用。UITextField
是隐藏的,但UITextView
不要改变他的框架。我尝试使用UIKeyboardDidShowNotification
,但只有在键盘弹出时才会调用它。
重现问题的代码:ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController <UITextViewDelegate>
@property (weak, nonatomic) IBOutlet UITextField *titleTF;
@property (weak, nonatomic) IBOutlet UITextView *bodyTV;
@end
视图控制器.m
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
-(void)textViewDidBeginEditing:(UITextView *)textView {
self.titleTF.hidden=YES;
CGRect newFrame=CGRectMake(20, 20, textView.frame.size.width, 100);
textView.frame=newFrame;
}
@end
运行应用程序并单击 UITextView,应用程序将如下所示: http://imageshack.us/photo/my-images/694/32568213.png 现在一切都很好(隐藏了 UITextField 并且移动了 UITextView 并调整了大小)。
再次启动应用程序。首先单击 UITextField,然后单击 UITextView。应用看起来像这样: http: //imageshack.us/photo/my-images/843/66433184.png UITextField 是隐藏的,但 UITextView 并没有改变他的框架。