首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
default
actionscrip
import
jsp
vba
random
sum
cmd
request
java
runtime
replace
char
uri
foreach
list
header
utf-8
heatmap
nodejs
httprequest
config
cSharp
javascript
python
jar
go
post
vbscript
byte
shell
hash
typescript
golang
cpython
datetime
expression
bitmap
grid
regex
php7
frameworks
iostream
eval
cPlusPlus
main
dll
blob
instance
object
tree
format
client
timestamp
timezone
integer
subset
case
node.js
future
httpclient
require
buffer
tags
express
less
filter
substring
triggers
schema
install
export
php5
heap
fetch
copy
function
window
perl
当前位置:
开发笔记
>
编程语言
> 正文
iPhone/iPad键盘弹出遮挡要编辑内容问题
作者:心动心爱_342 | 来源:互联网 | 2023-01-12 21:45
当系统收到显示键盘的请求时,就从屏幕的底部滑出键盘,并将它放在应用程序内容的上方。由于键盘位于内容的上面,所以有可能遮掩住用户希望编辑的文本对象,只能盲操^_^如何解决可以参考iPhone
当系统收到显示键盘的请求时,就从屏幕的底部滑出键盘,并将它放在应用程序内容的上方。由于键盘位于内容的上面,所以有可能遮掩住用户希望编辑的文本对象,只能盲操^_^
如何解决可以参考iPhone应用程序编程指南 http://www.apple.com.cn/developer/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/TextandWeb/TextandWeb.html#//apple_ref/doc/uid/TP40007072-CH20-SW16
大体思路是:暂时调整一或多个视图的尺寸和位置,从而使文本对象可见。管理带有键盘的文本对象的最简单方法是将它们嵌入到一个UIScrollView(或其子类,如UITableView)对象。当键盘被显示出来时,需要做的只是调整滚动视图的尺寸,并将目标文本对象滚动到合适的位置。为此,在UIKeyboardDidShowNotification通告的处理代码中需要进行如下操作:
1. 取得键盘的尺寸。
2. 将滚动视图的高度减去键盘的高度。
3. 将目标文本框滚动到视图中。
但有时会碰到要编辑字段不在UIScrollView中的情况,比如烟草项目中点击靠近底部的烟草信息,弹出的popover可能会被弹出的键盘遮盖,这时通过简单的调整popover箭头方向即可实现弹出窗口随弹出键盘滑动的效果,当iPad竖着放置时点击列表中靠上部的行,箭头朝上;点击靠下部的行,箭头朝下;iPad横向放置时箭头朝右,效果如图所示:
iPad竖着放置时点击列表中靠上部的行,箭头朝上
点击靠下部的行,箭头朝下
竖向放置弹出键盘效果
横向放置时箭头朝右
横向放置弹出键盘效果
代码如下:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
OrderNumViewController *orderNumViewCOntroller= [[OrderNumViewController alloc] init];
orderNumViewController.cOntainerViewController= self;
if (orderNumPopover == nil) {
orderNumPopover = [[UIPopoverController alloc] initWithContentViewController:orderNumViewController];
}else {
orderNumPopover.cOntentViewController= orderNumViewController;
}
OrderOnlineCell *cell = (OrderOnlineCell *)[tableView cellForRowAtIndexPath:indexPath];
NSArray *indexArray = [tableView indexPathsForVisibleRows];
BOOL upHalf = true;
int halfIndex = indexArray.count / 4;
if (indexPath.row > [[indexArray objectAtIndex:halfIndex] row]) {
upHalf = false;
}
[self showOrderNumPopover:cell isUpHalf:upHalf];
[orderNumViewController release];
}
-(void)showOrderNumPopover:(OrderOnlineCell *)cell isUpHalf:(BOOL)upHalf{
orderNumPopover.popoverCOntentSize= CGSizeMake(400, 320);
CGRect popoverRect = CGRectMake(cell.bounds.origin.x + cell.bounds.size.width - 100,
cell.bounds.origin.y,
27, 32);
UIInterfaceOrientation orientation = self.interfaceOrientation;
UIPopoverArrowDirection direction = UIPopoverArrowDirectionUnknown;
if ((orientation == UIInterfaceOrientationPortrait) || (orientation == UIInterfaceOrientationPortraitUpsideDown)) {
if (upHalf) {
direction = UIPopoverArrowDirectionUp;
}else {
direction = UIPopoverArrowDirectionDown;
}
}else {
direction = UIPopoverArrowDirectionRight;
}
[orderNumPopover presentPopoverFromRect:popoverRect
inView:cell
permittedArrowDirections:direction
animated:YES];
}
本文出自 “何必呢” 博客,请务必保留此出处http://afantihust.blog.51cto.com/2231549/533976
ipad
iphone
keyboard
key
编程
http
io
ide
text
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
java
【clientX,offsetX,screenX】 【scrollWidth,clientWidth,offsetWidth】的区别
一、深刻认识clientX,offsetX,screenX概念(来源于网络):clientX设置或获取鼠标指针 ...
[详细]
蜡笔小新 2023-10-16 10:34:16
go
iOS开发中的内存泄漏检测和解决方法,以及最能挣钱的行业和选行业技巧
本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ...
[详细]
蜡笔小新 2023-12-09 10:07:05
go
Android开发笔记:使用Picasso加载网络图片等比例缩放
在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ...
[详细]
蜡笔小新 2023-12-14 17:34:00
header
使用圣杯布局模式实现网站首页的内容布局
本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ...
[详细]
蜡笔小新 2023-12-10 20:09:23
header
Cocos2dx学习笔记(14)更新函数scheduleUpdate、进度计时器CCProgressTo、滚动视图CCScrollView
本文介绍了Cocos2dx学习笔记中的更新函数scheduleUpdate、进度计时器CCProgressTo和滚动视图CCScrollView的用法。详细介绍了scheduleUpdate函数的作用和使用方法,以及schedule函数的区别。同时,还提供了相关的代码示例。 ...
[详细]
蜡笔小新 2023-12-10 12:48:16
list
Tkinter Frame容器grid布局并使用Scrollbar滚动原理
本文介绍了如何使用Tkinter实现Frame容器的grid布局,并通过Scrollbar实现滚动效果。通过将Canvas作为父容器,使用滚动Canvas来滚动Frame,实现了在Frame中添加多个按钮,并通过Scrollbar进行滚动。同时,还介绍了更新Frame大小和绑定滚动按钮的方法,以及配置Scrollbar的相关参数。 ...
[详细]
蜡笔小新 2023-12-09 07:37:04
config
安卓学习笔记之自定义ViewGroup
涉及的知识点-ViewGroup的测量与布局-View的测量与布局-滑动冲突的处理-VelocityTracker滑动速率跟踪-Scroller实现弹性滑动-屏幕宽高的获取等实现步 ...
[详细]
蜡笔小新 2023-10-17 13:32:19
config
实例详解CSS3实现弹幕
项目需要实现弹幕,网上参考了各种方法,最后觉得transform+transition实现的效果在移动设备上性能最好,在iphone6和红米4上测试,看不到 ...
[详细]
蜡笔小新 2023-10-17 12:33:46
java
创建ipadWEB应用程序到主屏幕
1.webkit内核中的一些私有的meta标签,这些meta标签在开发webapp时起到非常重要的作用(1) ...
[详细]
蜡笔小新 2023-10-17 11:02:41
post
Apple iPad:过渡设备还是平板电脑?
I’vebeenagonizingoverwhethertopostaniPadarticle.Applecertainlydon’tneedmorepublicityandthe ...
[详细]
蜡笔小新 2023-10-16 20:17:56
default
android渐变布局,关于Android的径向渐变高级编程的实现
在最近的一系列文章,对midipadAPP,有一个关于一个radialgradiant渲染每个padview利用的探讨,对审美的原因 ...
[详细]
蜡笔小新 2023-10-16 15:55:59
go
百度地图 绘制东莞东城地图示例
先上图:index.html ...
[详细]
蜡笔小新 2023-10-16 10:11:09
utf-8
iscroll实现上拉加载下拉刷新
<!DOCTYPEhtml><html><head><metacharsetUTF-8><meta ...
[详细]
蜡笔小新 2023-10-16 09:16:11
post
ElasticSearch介绍和基本用法(二)
2.ElasticSearch练习索引 : sms-logs-index类型:sms-logs-type 数据导入部分PUTsms_logs_indexsms_logs_typ ...
[详细]
蜡笔小新 2023-10-15 17:08:37
list
NavigationLink似乎只占了很小的空间
我正在使用NavigatonView和NavigationLink,我的观点是这样的:ScrollView{VStack ...
[详细]
蜡笔小新 2023-10-15 14:25:31
心动心爱_342
这个家伙很懒,什么也没留下!
Tags | 热门标签
default
actionscrip
import
jsp
vba
random
sum
cmd
request
java
runtime
replace
char
uri
foreach
list
header
utf-8
heatmap
nodejs
httprequest
config
cSharp
javascript
python
jar
go
post
vbscript
byte
RankList | 热门文章
1
物联网这么火了,怎么能不懂点低功耗设计
2
接收字节流_Java中的IO流之输入流|乐字节
3
学习python课程第六天
4
OpenCV014: 图像插值
5
初次下厨的丈夫来问下面怎么做好吃
6
电路板上的连线也存在坑
7
2. Go并发编程GMP调度
8
JavaScript与DOM(上)——也适用于新手 – 深入理解JavaScript系列 23
9
《前端中文入门手册》.pdf
10
wxbizmsgcrypt+php7,GitHubfuchengjx/WXBizMsgCrypt: 企业微信TS(JS)加解密库
11
正转串与整转串的区别
12
mysql中添加单词怎么写_MySQL晨读单词
13
mongodb 数据库操作备份 还原 导出 导入(转)
14
python程序_Python程序hello world
15
rasa算法_智能问答rasa框架02自定义action
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有