IPad/IPhone 开发中的布局问题

   初步学习IOS(IPad/IPhone)开发,这两天在界面布局上花了很多时间。

  IOS的界面方法有两种方式:

  1 使用Interface Builder创建界面,然后和相应的controller相关联

  2 通过code手动的添加UI组件和布局

  优缺点:

  方法1可以创建界面快捷而简单,也会比较易于维护。缺点就是动态性不够,据说性能上也会差些(由于需要读取XIB文件)。

  方法2的优点就是比较灵活和可控。缺点正好是方法1的优点的方面。

  个人对这两种方式的体会:

  *使用方法1来划分组件,每个功能都有自己独立的View&Controller。

  *使用方法1做整体布局

  *在局部的动态上使用方法2

  其他需要考虑的因素:

  *性能:可能使用多个view&controller会比较消耗资源

  *如何支持旋转:在旋转后需要对布局进行手动调整

  经验分享:

  * 常用整体布局和控制:Navigation,Tab,Split

  * 其他有用的View:UITableView,PageControl等

  * 一个很好的例子UICatalog(IOS SDK文档中): 包含了多种UI空间,以及常用布局

  *toolbar不支持对于Landscape,应该是个bug

  目前对于复杂的界面布局和控制还在探索中,之后会分享更多的ios界面开发的经验。

时间: 2024-12-30 10:50:32

IPad/IPhone 开发中的布局问题的相关文章

iPhone开发中给键盘加个隐藏工具条

  因为iPhone手机采用的触摸涉及,本身没有硬件键盘,一般都是点击输入框之后,弹出一个虚拟键盘出来,因此在iPhone开发中,经常在完成编辑输入之后,要写程序代码来关闭软键盘的输出,非常繁琐,当然关闭软键盘的方式有很多,比如放一个按钮在底层,通过点击屏幕的空白处来关闭键盘;也可以处理Return键盘事件来关闭键盘,这些暂且不说,本文要分享的是一个键盘顶部工具条的类,通过这个工具条,可以很方便的关闭键盘,而且有上一项,下一项的输入框切换,非常方便,效果请看下图: 类文件如下: KeyBoard

asi重定向问题-iPhone开发中网络请求重定向多次后,重定向方法无效

问题描述 iPhone开发中网络请求重定向多次后,重定向方法无效 在做登陆功能的时候,发送了post请求网址是url,登陆成功后,会返回个新的newurl,在对newurl请求就ok,但是 登陆成功了几次后(正确的用户和密码),在登陆就不能触发请求了,其他的请求也不能触发,这是为什么??不仅仅是登陆这块的重定向请求,其他功能也有重定向请求,只要请求重定向了,累加3次 其他的网络请求就不能被触发,求解!!!急求 解决方案 http://www.hackhome.com/InfoView/Artic

Android开发中LinearLayout布局技巧及layout中drawable属性区别

先介绍drawable属性的区别,这个算是比较简单的,但是还是有一点点的小细节需要进行说明,drawable有五个文件夹,分别为hdpi,ldpi,mdpi,xdpi,xxdpi,这五个文件夹想必大家都知道,其实就是为了适应不同分辨率,由于手机分辨率的不同,因此我们的图片需要适应不同手机的分辨率...hdpi:480x800   mdpi:480x320   ldpi:320x240xdpi:1280x720 xxdpi 1920x1280其实这个数字并不是非常精确的,只是说明每一个阶段都有一个

iPhone开发中的多语言化

之前写过一篇关于Qt多语言化的文章:http://blog.csdn.net/jasonblog/article/details/5445191. 虽然在进行iOS开发的过程中,可以在Xcode里直接使用中文字符串,但总觉得有点奇怪和不舒服. 加上用户可以在iPhone设置里选择不同的语言环境,因此采取国际化手段是个不错的选择. 最重要的是,工作量不大,尤其是刚开始进行项目时就考虑到了. 这里讨论最基本的文案多语言化. 首先,为项目新增资源文件Strings File,命名为"Localizab

iOS App开发中Masonry布局框架的基本用法解析_IOS

Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性,而且同时支持 iOS 和 Max OS X.Masonry是一个用代码写iOS或OS界面的库,可以代替Auto layout.Masonry的github地址:https://github.com/SnapKit/Masonry Masonry使用讲解: mas_makeConstraints 是给view添加约束,约束有几种,分别是边距,宽,高,左上右下距离,基准线.添加过约束后

iOS开发UI篇—iPad开发中得modal介绍

一.简单介绍 说明1: 在iPhone开发中,Modal是一种常见的切换控制器的方式 默认是从屏幕底部往上弹出,直到完全盖住后面的内容为止 说明2: 在iPad开发中,Modal的使用频率也是非常高的 对比iPhone开发,Modal在iPad开发中多了一些用法 二.呈现样式 (一)什么叫呈现样式 Modal出来的控制器,最终显示出来的样子 (二)Modal常见有4种呈现样式 (1)UIModalPresentationFullScreen :全屏显示(默认) (2)UIModalPresent

iphone开发笔记

  退回输入键盘   - (BOOL)textFieldShouldReturn:(id)textField{     [textField resignFirstResponder]; }   CGRect CGRect frame = CGRectMake (origin.x,origin.y, size.width, size.height):矩形 NSStringFromCGRect(someCG) 把CGRect结构转变为格式化字符串: CGRectFromString(aString

iOS开发中视图 push/modal/popover/replace/custom 小结

在storyboard中,segue有几种不同的类型,在iphone和ipad的开发中,segue的类型是不同的. 在iphone中,segue有:push,modal,和custom三种不同的类型,这些类型的区别在与新页面出现的方式. 而在ipad中,有push,modal,popover,replace和custom五种不同的类型. modal 模态转换 最常用的场景,新的场景完全盖住了旧的那个.用户无法再与上一个场景交互,除非他们先关闭这个场景. 是在viewController中的标准切

iOS开发中常见的解析XML的类库以及简要安装方法_IOS

在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML.TouchXML.KissXML.TinyXML和GDataXML.问题是应该选择哪一个呢? 解析 XML 通常有两种方式,DOM 和 SAX: DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历树结构可以检索任意XML节点,读取它的属性和值.而且通常情况下,可以借助XPath,直接查询XML节点. SAX