- 浏览: 3475136 次
- 性别:
- 来自: China
-
文章分类
- 全部博客 (536)
- ajax (1)
- Algorithm (14)
- Android (40)
- CSS/HTML... (2)
- defy (3)
- DesignPattern (2)
- dorado (0)
- Drools (6)
- English/日本語 (7)
- Flex (2)
- Framework (0)
- Google (3)
- hibernate (13)
- homework (3)
- HTML5 (0)
- IDE (29)
- java (45)
- javaee (7)
- Javascript (14)
- java组件 (5)
- jQuery (4)
- jsp (8)
- jsf (2)
- Linux (2)
- lucene (0)
- mysql (6)
- news (3)
- Oracle (8)
- other (4)
- PHP (5)
- Python (0)
- Software Engineering (3)
- spring (7)
- struts1.x (14)
- struts2.x (14)
- strolling in cloud (1)
- subject:javaEnhance (20)
- Tomcat (7)
- validator (3)
- 学习·方法·心得 (8)
- .NET (2)
- vba (6)
- groovy (5)
- grails (2)
- SWT (0)
- big data (1)
- perl (1)
- objective-c (50)
- product (1)
- mac (7)
- ios (188)
- ios-phone (2)
- ios-system (15)
- ios-network (5)
- ios-file (4)
- ios-db (1)
- ios-media (3)
- ios-ui (27)
- ios-openSource (6)
- ios-animation (5)
- ios-drawing (7)
- c (2)
- ios-app (2)
- ios-course (15)
- ios-runtime (14)
- ios-code (8)
- ios-thread (8)
- ios-LBS (2)
- ios-issue (1)
- ios-design (2)
- Jailbreak (2)
- cocos2d (0)
- swift (16)
- ios-framework (4)
- apple watch (4)
- ios-web (1)
- react native (3)
- TVOS (1)
- OpenGL (1)
最新评论
-
xiaobinggg:
...
Session机制详解 -
菜鸟学生会:
Drools规则工作流引擎开发教程网盘地址:http://pa ...
Drools入门-----------环境搭建,分析Helloworld -
wangyudong:
不是很好用,不支持自动化测试RESTful API,也不支持自 ...
Simple REST Client POST使用方法 -
Paul0523:
很棒的一篇文章,感谢楼主分享
Session机制详解 -
啸笑天:
获取原型对象的三种方法<script>functi ...
复习JavaScript面向对象技术
iPhone软键盘占据216像素高,这对于iPhone仅仅320*480像素的屏幕来说,不能说不是一个很糟糕的事情。 为了避免输入控件被弹出的216像素高的软键盘所遮挡,程序员们想出了各种各样的方式,在软键盘弹出时调整窗口视图的尺寸。
程序员们普遍采用的一种方式,是监听软键盘事件。当软键盘弹出时,窗体的View被上移,当软键盘隐藏时,窗体的View恢复原来位置,这样就避免了输入控件被遮挡。
但是,由于SDK的原因,在View移动的过程中,会导致一个“20像素Bug”的问题。即键盘隐藏后,View下移的位置会偏离原来位置20个像素。这个Bug最直观的表现是,View的最下端露出了20像素的空白。
解决20像素的bug的方法很简单,就是在隐藏键盘时,手动将View的 y坐标下移20像素。
但是,对于另一种情况,我们做这样的调整则是多余的,它反而会在View的上端露出20像素空白。
SDK的这种Bug让我们无所适从。到底什么时候需要调整View的20像素,什么时候不需要调整呢?
问题就在于状态栏上。状态栏是否可视,直接影响这20像素是否需要调整。很显然,当statusBarHidden为NO(默认)时,view的有效高度为480,否则view的有效高度只有460而已。我们在xib中设计view的位置的时候,不管statusbar是否为None,view的origin都是(0,0),但SDK在加载xib之后,会根据statusBarHidden的属性自动调整view的位置,使得view最上端的20像素不会被状态栏所遮盖。
也就是说,当statusBarHidden为NO时,虽然我们在IB中看到view的origin是(0,0),但实际运行时,view的origin已经被SDK调整为正确的(20,0)。
因此,在键盘隐藏时,程序员不应该把view移动到(0,0)处,而应该调整到(20,0)处。因为SDK已经不会为我们做这件事情,我们得用自己的代码来做。
当然,如果你确实不需要在你的app中显示一个状态栏,我们会在application:didfinishLaunchWithOption:方法中这样做 :
[[UIApplicationsharedApplication] setStatusBarHidden:YESwithAnimation:UIStatusBarAnimationNone];
注意,setStatusBarHidden:animated方法现在已经被新的方法所代替。
如果是这样,我们没有必要将view的位置调整到(20,0)。我们可以在代码中通过判断statusBarHidden的值来决定是否需要调整20像素。
int bug20px=([[UIApplicationsharedApplication]isStatusBarHidden]?0:20);
注意,statusBarHidden属性很奇怪,它既不是view的属性,也不是window的属性,而是UIApplication的属性。
另外还有一个问题,如果ViewController是使用NavigationController负责导航的,则这20像素也不需要调整。
int bug20px=([[UIApplicationsharedApplication]isStatusBarHidden]||viewController.navigationController?0:20);
发表评论
-
iOS11-sdk11-xcode9-iphone8/8+/x适配
2017-11-22 16:54 4666原文地址:https://github.com/easyu ... -
iPhoneX指示条(visual indicator)
2017-10-20 17:54 2997原文地址:https://github.com/e ... -
swift项目在iOS8 通过init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle
2017-06-21 19:50 1782原文地址 初始化代码: MatchViewCo ... -
iOS10.3中划线失效
2017-05-12 10:38 1171原文地址 NSString *price ... -
iOS的标识符
2017-05-12 10:38 1240UDID的全名为 Unique Device Ide ... -
管理你的第二屏(airPlay)
2017-02-14 00:47 1732需求: 1、投射airplay后,有些页面或 ... -
strong修饰符实现weak效果(对象释放时,属性置nil)
2017-01-06 18:12 1286// // NSObject+EZ_Deal ... -
AVPlayer 截屏(swift3.0)
2017-01-06 09:50 2843开始做的是一般的vod视频截屏,用AVA ... -
CATransform3D
2016-11-06 22:03 2042CATransform3D 的数据结构定义了一个同质的三维 ... -
CMTime
2016-11-02 17:59 3753CMTime是专门用于标识电影时间的结构体,通常用如下 ... -
UISlider 获取滑块上方坐标&解决滑块两边空隙
2016-11-02 15:18 5213获取滑块上方坐标: 比如infoVie ... -
多媒体的一些基础概念
2016-10-27 17:03 1324音频采样 大自然中的声音,他的形态是一种波。我们通过采样 ... -
iOS10/sdk10/xcode8/iphone7(+)/swift3适配
2016-09-18 11:51 2394Xcode 8 iOS Simulator正常启动 ... -
runloop小结
2016-06-01 00:46 0Thanks: 深入理解RunLoop 走进R ... -
iOS的framework动态库
2016-03-26 01:14 6905iOS的静态库有两种,.a和.framewor ... -
WebView图片自适应屏幕
2016-03-16 01:09 1191- (void)webViewDidFinishLoa ... -
UIModalPresentationFormSheet模式下隐藏键盘
2016-03-05 10:13 1317在通常情况下,我们使用UITextField空 ... -
图片抗锯齿处理方法
2016-03-03 14:06 5159一、 这个简单的键-值对添加到您的Info.plist:U ... -
NSURLSession
2015-12-22 08:56 3637NSURLSession 简介 NSURLConn ... -
HTTP简介
2015-12-21 20:01 1313一、TCP/IP 协议介绍 在介绍 HTTP 协议之 ...
相关推荐
在PX4的飞行控制系统中,模式切换是指根据用户的需求或者飞行任务的需要,通过改变飞行控制器的状态,从而改变无人机的飞行行为。 从给定的文件内容中,我们可以提炼出以下几个关键知识点: 1. PX4的命令行接口...
Commder 是Px4 源码中的飞行控制命令切换模块,比如由自稳模式切换到,定高,定 点,自动模式。所有模式能不能成功切换,都在这个模块中做了相应的飞行条件检查。自稳 模式的切换,不需要太多的飞行条件。如果是定高...
PX Developer Version 1操作手册(GOT画面生成功能篇) PX Developer Version 1操作手册(GOT画面生成功能篇)是MITSUBISHI三菱公司出品的用户手册,旨在指导用户正确地使用PX Developer Version 1操作手册中的GOT画面...
总的来说,解决`inline-block`元素之间的4px(或8px)空白间距问题,可以根据项目需求和浏览器兼容性选择合适的方法。调整HTML结构是最直接的解决方案,而设置父元素字体为0或使用负的`margin`则需要权衡可能带来的...
标题中的“PX4bootloader.rar_PIXHAWK bootloader_pixhawk_px4 bootload_px4 bo”指的是一款针对Pixhawk飞行控制器的bootloader程序,而Pixhawk是无人机和机器人系统广泛使用的开源硬件平台。Bootloader是系统启动时...
PX4中文维基是一个涵盖了PX4开源飞行动态系统中文资料的综合性百科全书。PX4是一个非常先进的自动驾驶仪软件框架,广泛应用于多旋翼、直升机、垂直起降飞行器等各种类型的无人机。PX4中文维基的创建目的是为了提供一...
PX4是一款开源的无人机飞行控制系统,它主要用于无人驾驶航空器(UAV)的实时飞行控制。在Windows环境下进行PX4的开发需要配置特定的开发环境,其中包括了多个关键组件。以下是对这些组件的详细解释: 1. **px4_...
PX4架构详细介绍 PX4是一种开源的无人机飞控软件,特别适用于研发无人驾驶飞行器(UAV)。PX4支持多种硬件平台,如Pixhawk系列,它提供了一整套用于无人机操作的飞行控制解决方案。PX4架构由多个模块组成,每个模块...
PX4是一种开源飞行控制系统,广泛应用于无人机、机器人车辆和其他自主系统的导航与控制。它基于实时操作系统(RTOS)设计,提供了一套完整的硬件抽象层、中间件层和应用层,允许开发者进行灵活的定制和扩展。 在...
- 快速恢复:如果加载过程中出现问题,bootloader 可引导系统进入安全模式或回滚到已知良好的固件版本。 - 支持多种硬件:PX4 bootloader 适应各种硬件平台,如Pixhawk系列飞控板和其他兼容硬件。 - 固件更新:...
PX4 Autopilot是一款开源飞行控制系统,主要用于无人机、多旋翼飞行器以及固定翼飞机等无人驾驶航空器。这个系统基于微控制器(MCU)和Linux操作系统,为开发者和研究人员提供了高度灵活和强大的飞行控制功能。在...
构建这个包生成所有所需的接口,可以将ROS2节点与PX4飞控固件内部接口相连接,PX4飞控固件内部使用uORB消息API。目前,此包的消息表示对px4_ros_com包的依赖关系。 uORB消息定义与此包中的ROS2消息的相对应,可以在...
PX4Flow是一款集成光流和超声波测距的传感器模块,常用于无人机自主导航、定位和避障。本文将详细解析PX4Flow的电路原理和光流技术的基础知识。 一、PX4Flow光流原理 光流是通过分析图像序列中像素的相对运动来...
### Primetime PX Training Material:低功耗分析 #### 引言 随着电子设备越来越小巧、高效,对芯片设计中的功耗问题的关注度日益增加。在本训练材料中,我们将探讨如何利用Synopsys PrimeTime PX工具进行低功耗...
这个插件的标题是"px单位转成vw单位的VSCode插件",它旨在帮助开发者快速、方便地将像素(px)单位转换为视口宽度单位(vw),以实现更灵活的响应式设计。 **px与vw单位介绍** 像素(px)是传统Web开发中最常用的...
在前端开发中,尺寸单位的转换是至关重要的,特别是在响应式设计中,为了实现不同设备上的适配,经常需要将像素(px)单位转换为相对单位(如rem)。`grunt-px2rem`是一个Grunt插件,专门用于批量处理CSS文件,将...
PX4飞控源码是无人机和机器人自主导航系统的核心组件,源自开源社区并托管在GitHub上。这个项目提供了飞行控制系统的设计、实现以及相关的软件开发工具,使得开发者和研究者能够自定义飞行行为,进行硬件集成,甚至...
PX4是一款开源的飞行控制系统,广泛应用于无人机、自动驾驶汽车和其他机器人平台。它的核心是一个实时操作系统,设计用于处理复杂的飞行控制算法和传感器数据融合。在深入理解PX4固件源码之前,我们需要先了解一些...
PX4飞控是无人机和机器人领域广泛使用的开源飞行控制系统,其设计原理图是理解其工作方式的关键。在本文中,我们将深入探讨PX4飞控的原理,并基于"Hardware-master"这个压缩包文件来解析其硬件架构。 首先,PX4飞控...
【PX4的Gazebo仿真教程】 在无人机和机器人领域,仿真环境的使用至关重要,它允许开发者在不涉及实际硬件的情况下测试和优化控制系统。在PX4开源飞控系统中,Gazebo是一个强大的仿真工具,提供了丰富的场景和多种...