/********************************************************************************************
* author:conowen@大钟
* E-mail:conowen@hotmail.com
* http://blog.csdn.net/conowen
********************************************************************************************/
一丶前言
实现iOS界面总的来说,有三种方式,传统的是纯代码创建与xib创建,近年来,苹果官网一直推荐用storyboard管理项目界面,最新的xcode创建的project也是默认为storyboard方式了。相对于Android开发而已,界面的管理就两种方式,一种是纯代码,另外一种技术XML布局方式。其实ios与Android的界面管理相同点挺多的,下面就分开说说。
二、纯代码创建
首先如下,纯代码创建一个UIImageView,并给它设置图片,并且根据设备的不同,动态设置其位置坐标与长宽。
- UIImageView *food=[[UIImageView alloc] init];
- food.image=[UIImage imageNamed:_imgName];
- if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
- food.frame=CGRectMake((width*0.25+width/2-197*4/6),height+height/2, 197*4/3, 260*4/3);
- }
- else{
- food.frame=CGRectMake((width*0.25+width/2-90*4/6),height+height/2, 90*4/3, 118*4/3);
- }
优点:可以灵活地适应各种环境,无论是什么ios版本,或者iPhone,ipad,都可以动态地适应各种场景。
缺点:代码量大,构建控件麻烦,点击的监听函数和delegate要自己手动创建。
三、xib方式创建
xib创建视图,就如同Android的XML一样,但是它比Android的XML方式还强大。可以直接设置控件的监听函数与delegate,控件的各种属性基本都能设置。
3.1、xib项目的初始化写法
使用xib的项目,AppDelegate的didFinishLaunchingWithOptions方法中一般这么写。
- - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
- {
- self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
- UINavigationController *navController;
- HomeViewController *homeViewControl;
- if (IS_IPAD) {
- homeViewControl = [[HomeViewController alloc] initWithNibName:@"HomeViewController_iPad" bundle:nil];
- }
- else{
- homeViewControl = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];

本文介绍了iOS程序界面的三种实现方式:纯代码创建、xib以及storyboard。对比了它们的优缺点,强调了storyboard在现代iOS开发中的重要地位,以及xib在某些场景下的优势。对于代码创建,提到了其代码量大、构建麻烦的问题;而对于xib,文中详细阐述了xib的使用方法,包括初始化、绑定、xib助手的运用和delegate设置,同时也指出了xib文件过多可能带来的管理问题。
&spm=1001.2101.3001.5002&articleId=7884335&d=1&t=3&u=7fd28e94a83a4284b87098e3f2db1c1b)
997

被折叠的 条评论
为什么被折叠?



