`
zjjzmw1
  • 浏览: 1366276 次
  • 性别: Icon_minigender_1
  • 来自: 开封
社区版块
存档分类
最新评论

ios 弹出键盘上面带UITextView 的评论界面

    博客分类:
  • iOS
阅读更多

.h里面写的两个属性。

//评论的时候弹出来的。

@property (retain, nonatomic) UIView *mainView;

 

@property (retain, nonatomic) UITextView *myTextV1;

 

ViewDidLoad 里面写的。

[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(changeContentViewPoint:) name:UIKeyboardWillShowNotificationobject:nil];

    self.myTextV1 = [[UITextViewalloc]initWithFrame:CGRectMake(0, 0, 280, 40)];

    self.myTextV1.layer.cornerRadius = 5;

    self.myTextV1.layer.masksToBounds = YES;

    

    UIButton *fasongBut = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];

    fasongBut.frame = CGRectMake(280, 0, 40, 40);

    [fasongBut setTitle:@"确定"forState:UIControlStateNormal];

    [fasongBut addTarget:selfaction:@selector(pinglunQueding:) forControlEvents:UIControlEventTouchUpInside];

    

    

    self.mainView = [[UIViewalloc]initWithFrame:CGRectMake(0, kScreenHeight, 320, 40)];

    [self.view addSubview:self.mainView];

    [self.mainViewaddSubview:self.myTextV1];

 

    [self.mainView addSubview:fasongBut];

 

 

 

下面是操作的三个方法。

-(void)pinglunAction:(UIButton *)sender{

    self.mainView.hidden = NO;

    [self.viewbringSubviewToFront:self.mainView];

    [self.myTextV1becomeFirstResponder];

    

}

-(void)pinglunQueding:(UIButton *)sender{

    [self.myTextV1resignFirstResponder];

    self.mainView.hidden = YES;

    self.mainView.center = CGPointMake(self.mainView.center.x, kScreenHeight);

}

 

// 根据键盘状态,调整_mainView的位置

- (void) changeContentViewPoint:(NSNotification *)notification{

    

    NSDictionary *userInfo = [notification userInfo];

    NSValue *value = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey];

    CGFloat keyBoardEndY = value.CGRectValue.origin.y// 得到键盘弹出后的键盘视图所在y坐标

    

    NSNumber *duration = [userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];

    NSNumber *curve = [userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey];

    

    // 添加移动动画,使视图跟随键盘移动

    [UIViewanimateWithDuration:duration.doubleValueanimations:^{

        [UIViewsetAnimationBeginsFromCurrentState:YES];

        [UIViewsetAnimationCurve:[curve intValue]];

        

        self.mainView.center = CGPointMake(self.mainView.center.x, keyBoardEndY - kStateBarHeight - self.mainView.bounds.size.height/2.0);   // keyBoardEndY的坐标包括了状态栏的高度,要减去

        

    }];

    

    

    

 

}

 

0
0
分享到:
评论

相关推荐

    ios-键盘不覆盖UITextField和UITextView输入框.zip

    在iOS开发中,当用户需要在UITextField或UITextView中输入时,键盘的弹出会遮挡部分内容,特别是当这些输入控件位于UIScrollView等可滚动视图上时。标题"ios-键盘不覆盖UITextField和UITextView输入框.zip"所提及的...

    弹出键盘,监听键盘高度

    在iOS应用开发中,特别是在构建用户交互界面时,"弹出键盘,监听键盘高度"是一个常见且重要的需求。当用户需要在屏幕上输入信息,如评论、搜索或填写表单时,软键盘的弹出会影响到屏幕上的其他元素,尤其是那些位于...

    ios-键盘上弹出控件.zip

    iOS提供了uitextfield和uitextview这两个UI组件,它们会在获得焦点时自动弹出键盘。开发者可以通过uitextfield的代理方法来监听键盘的显示和隐藏,如`textFieldDidBeginEditing:` 和 `textFieldDidEndEditing:`。...

    IOS 解决输入框被键盘遮挡问题

    当用户点击输入框时,系统会自动弹出键盘,但不会自动调整界面布局以适应键盘的高度。这就是导致输入框被遮挡的问题所在。为了解决这个问题,我们可以利用苹果提供的`UIViewController`的一个属性:`...

    iOS_输入栏自适应键盘的高度

    当用户需要在设备上输入信息时,键盘的弹出和隐藏会显著影响用户体验。标题“iOS_输入栏自适应键盘的高度”揭示了一个关键的UI优化问题:如何确保输入栏在键盘出现时能够自动调整其位置,以便用户可以舒适地看到和...

    iOS各种键盘输入框

    同时,需要处理键盘弹出和输入框自动上移的问题,以确保用户能方便地看到自己的输入内容。 5. UICollectionView图片拖动:在评论或聊天界面中,如果需要展示多张图片,可以利用UICollectionView的拖动功能。通过...

    ios-监听键盘高度(包括第三发键盘).zip

    当用户在UITextField或者UITextView中输入时,键盘的弹出会遮挡部分屏幕内容,这可能导致用户无法看到或访问到屏幕下方的信息。因此,开发者通常需要调整界面布局,以便在键盘出现时保持用户体验的连贯性。此外,...

    iOS 软键盘遮挡问题 点击外部隐藏软键盘

    标题“iOS 软键盘遮挡问题 点击外部隐藏软键盘”所提及的问题是,当用户在移动设备上使用应用时,软键盘弹出可能会遮挡到屏幕下方的部分内容,这可能导致用户体验下降。为了解决这个问题,iOS提供了多种方法来处理软...

    ios7隐藏虚拟键盘,解决键盘挡住UITextField问题

    在iOS开发中,特别是在iOS 7及更高版本中,用户界面设计的一个常见问题是虚拟键盘弹出时会遮挡UITextField或UITextView,导致用户无法看到正在输入的文本。本篇文章将详细探讨如何解决这一问题,主要关注如何在iOS 7...

    iOS简单实现隐藏键盘

    在iOS开发中,用户在与UITextField或UITextView交互时,会自动弹出系统键盘以便输入文本。然而,有时用户可能希望快速隐藏键盘以获得更好的用户体验,例如在浏览内容或者进行其他操作时。本文将详细讲解如何在iOS...

    iOS 输入键盘自适应

    在用户开始编辑文本时,系统会自动弹出键盘,但默认情况下,键盘的出现并不会改变UITextField的位置。为了优化用户体验,开发者需要手动处理键盘的显示与隐藏,使UITextField能避开键盘,保持在可视范围内。 实现...

    在iOS虚拟键盘上添加动态隐藏按钮

    当用户点击这些视图时,系统会自动弹出键盘。然而,系统默认的键盘并不支持自定义按钮的添加。为了实现这个功能,我们需要创建一个自定义键盘视图(UIInputView)或者自定义键盘类(UIKeyboardType)。 1. 自定义...

    ios-UITextView仿微信输入.zip

    - 使用`UIKeyboardWillShowNotification`和`UIKeyboardWillHideNotification`通知来监听键盘的显示和隐藏,以便在键盘弹出时调整界面布局。 9. **自动缩放** - 为了解决输入后`UITextView`的尺寸变化,可以设置`...

    IOS应用源码——点击输入框弹出键盘时,输入框的整个视图向上移动以便用户可以看到输入的内容.zip

    这个"IOS应用源码——点击输入框弹出键盘时,输入框的整个视图向上移动以便用户可以看到输入的内容"压缩包中的源码,就是专门针对这一场景的解决方案。 首先,我们需要理解苹果提供的Auto Layout和Size Classes机制...

    IOS开发实例-1、键盘控制,键盘类型设置,alert 对话框,加载等待

    当用户点击输入框时,键盘自动弹出,我们可以通过UITextFieldDelegate协议中的方法来监听键盘的显示和隐藏,如`textFieldShouldBeginEditing`和`textFieldShouldEndEditing`。此外,为了提高用户体验,我们还可以...

    ios-带有placeholder的TextView和跟随键盘移动的textfield.zip

    5. 可能使用了`NotificationCenter.default.addObserver`来监听键盘的显示和隐藏状态,以便在键盘弹出和收起时执行相应的布局更新。 通过这个开源项目,开发者可以学习到如何更有效地管理和优化用户在`UITextField`...

    ios源码之一个完美的键盘控制器Demo.rar

    3. **自动布局(Auto Layout)**:在键盘弹出时,可能会遮挡到屏幕下方的输入框。为了解决这个问题,可以利用Auto Layout动态调整界面元素的位置。在键盘显示和隐藏的通知回调中,更新约束可以使内容随键盘的出现和...

    swift-IQKeyBoardManager解决键盘遮挡住输入框的问题

    当用户需要在UITextField或UITextView中输入信息时,弹出的键盘可能会遮挡住这些元素,导致用户体验下降。`IQKeyboardManager`就是为了解决这个问题而诞生的一个第三方库,尤其在Swift开发中,它是一个广泛使用的...

    IOS应用源码之点击输入框弹出键盘时,输入框的整个视图向上移动以便用户可以看到输入的内容 .rar

    这个"IOS应用源码之点击输入框弹出键盘时,输入框的整个视图向上移动以便用户可以看到输入的内容 .rar"文件中,就包含了实现这种功能的具体源代码。 首先,我们需要理解苹果提供的Auto Layout和Size Classes机制。...

    ios应用源码之一个比较完美的键盘控制器,包含多种键盘变化 2018127

    在iOS中,当一个UITextField或UITextView成为第一响应者时,系统会自动弹出键盘。然而,这往往会导致界面挤压,影响到用户的视图体验。键盘控制器的主要目标就是解决这个问题,提供平滑的键盘显示和隐藏动画,并且...

Global site tag (gtag.js) - Google Analytics