首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

iOS_监测键盘的显示和隐藏变化,并获得键盘高度,改变tableView的frame和偏移

}#pragma mark 根据键盘高度 改变 输入框和表格 的位置- (void)changeInputViewTableViewPlaceWith:(CGFloat)height { [self.inputView mas_remakeConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(self.view); make.bottom.equalTo(self.view).offset(-height); make.height.mas_equalTo(kInputHeight); }]; [self.tableView mas_remakeConstraints:^(MASConstraintMaker *make) { make.top.equalTo(self.view).offset(64); make.width.equalTo(self.view); make.bottom.equalTo(self.inputView.mas_top); //使tableView滑到最下端 NSInteger arrCount = self.messagesArray.count; NSIndexPath *index = [NSIndexPath indexPathForRow:arrCount - 1 inSection:0]; if (arrCount > 0) { [self.tableView scrollToRowAtIndexPath:index atScrollPosition:UITableViewScrollPositionBottom animated:YES]; } if (height > kMoreHeight) { CGFloat showhHeight = kHeight - kInputHeight - height - 64; CGFloat allHeight = self.tableView.contentSize.height; CGPoint contentPoint = CGPointMake(0, allHeight - showhHeight); [self.tableView setContentOffset:contentPoint animated:YES]; } }];}

02

5种方法完美解决android软键盘挡住输入框方法详解

在开发中,经常会遇到键盘挡住输入框的情况,比如登录界面或注册界面,弹出的软键盘把登录或注册按钮挡住了,用户必须把软键盘收起,才能点击相应按钮,这样的用户体验非常不好。像微信则直接把登录按钮做在输入框的上面,但有很多情况下,这经常满足不了需求。同时如果输入框特别多的情况下,点击输入时,当前输入框没被挡住,但是当前输入框下面的输入框却无法获取焦点,必须先把键盘收起,再去获取下面输入框焦点,这样用户体验也非常不好,那有什么办法呢? 系统的adjustResize和adjustPan有什么区别,他们使用时的注意事项,有什么系统要求及蔽端呢?

03

Android 天气APP(二十八)地图搜索定位

在我写完地图天气之后就有一种如释重负的感觉,但是这种感觉没有保持多久,就被新的需求功能所取代。因为我会让我身边的朋友帮忙测试使用,并提一些建议,我来决定是否汲取,这一次我收到了一个很好的建议,所以就有了这一篇文章,当然在我写的时候,功能就已经是完成了的,需求是这样的,之前的地图是通过手动点击地图然后定位到某一个点,然后获取天气信息,那么很多人一进入这个页面并不知道地图可以点击,那么这个时候该怎么去定位呢?于是就想到有一个地方能够让用户去输入,输入城市名之后,定位到这个城市,然后获取城市天气,功能就是这样,说起来是比较简单的功能,但是做起来可就不那么容易了,因为我是比较在意用户体验的,所以有的地方比较的执着,至于为什么?进入正题吧。

01

Android开发笔记(八十一)屏幕规格适配

适配各种屏幕规格,首先要取到系统对于屏幕的配置信息,这些配置可从工具类Configuration获得。Configuration对象在Activity中通过调用getResources().getConfiguration()得到,该对象的常用属性说明如下: touchscreen : 屏幕触摸方式。有下列几种取值定义:"未定义", "不支持触摸", "专用笔触摸", "支持手指触摸" keyboard : 物理键盘样式。有下列几种取值定义:"未定义", "无物理键盘", "全键盘", "十二格键盘" keyboardHidden : 键盘状态。有下列几种取值定义:"未定义", "未隐藏或软键盘", "已隐藏", "软键盘" hardKeyboardHidden : 物理键盘状态。有下列几种取值定义:"未定义", "未隐藏", "已隐藏" navigation : 方向控制样式。有下列几种取值定义:"未定义", "无方向控制", "方向键", "轨迹球", "滚轮" navigationHidden : 方向控制状态。有下列几种取值定义:"未定义", "未隐藏", "已隐藏" orientation : 屏幕方向。有下列几种取值定义:"未定义", "竖屏", "横屏" 以上属性除了屏幕方向是有用的,其他的基本没什么用。 如果属性发生变化,可重写onConfigurationChanged函数监测最新的属性值。但是由屏幕旋转导致的屏幕方向变化,按照生命周期走的是原方向onDestroy然后新方向onCreate,并不触发onConfigurationChanged方法,所以该方法基本也没机会用到。

03
领券