使用XIB创建iOS工程
来源:互联网 发布:帝国时代3mac版本 编辑:程序博客网 时间:2024/05/01 18:52
在自学的初期,我们通常使用storyboard来作为我们的view,创建我们的工程,但是由于合作开发的需要,
我们也可以不使用storyboard,而是使用XIB的方式创建我们的项目,
下面我们逐步的创建我们的项目,本人折腾了一下午才弄好,期间走了很多弯路。。。
1 . 创建single view application,然后删除Main.storyboard,创建一个xib文件
2 . 在Info.plist中,删除Main storyboard file base name所在的项
3 . 我们开始编辑xib文件,在本文,我的xib文件名为View.xib
a . 首先点击如下图所示的File’s owner, 设置identity inspector里的class为对应的ViewController类
b. 因为ViewController类继承自UIViewController类,所以有成员view,对应显示界面的根view,我们需要把xib的view与ViewController类中的view对应起来,这样才能显示正常,
c. 添加一些控件,我们添加最简单的label
在xib中拖入空间,然后用ctrl+拖拽的方式,将outlet添加到ViewController的头文件中
xib的修改就完成了
4 . 因为以前用storyboard的时候,会有一个入口的箭头,我们运行程序的时候会在箭头处开始执行,但是xib方式没有这个箭头,怎么办呢?在AppDelegate.m中添加代码调用: 我们在如下函数中添加内容:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; //创建ViewController实例 ViewController *viewController = [[ViewController alloc] initWithNibName:@"View" bundle:nil]; CGRect rect = self.window.bounds; viewController.view.frame = rect; //设置window根视图控制器 self.window.rootViewController = viewController; self.window.backgroundColor = [UIColor whiteColor]; [self.window makeKeyAndVisible]; return YES;}
这里面绑定了对应的xib文件,并且对布局进行了设置。
为了观察方便,我们可以把xib文件view的背景颜色设置成蓝色
我们可以发现,我们的view是铺满整个界面的,但是label并没有在中间,如何通过代码设置label呢?
5 . 代码控制label
我们已经在ViewController.h文件中声明了label的outlet,所以我们在对应的实现文件ViewController.m中,添加如下函数:
- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; CGRect rect = self.view.bounds; NSLog(@"view rect width %f, height %f\n",rect.size.width, rect.size.height); CGPoint point = CGPointMake(rect.origin.x + rect.size.width/2,rect.origin.y + rect.size.height/2); _helloLabel.center = point; [_helloLabel setTextAlignment: NSTextAlignmentCenter];}
(我尝试过在viewDidLoad和viewWillAppear中添加这些内容,但是并不生效,而且读出来的rect也非常诡异,对于iOSview调用的具体顺序,我水平有限,不是很了解,还请大家赐教)
这时候运行程序,应该就可以正常显示了,
使用xib方式创建的工程有些复杂,还需要继续学习,希望能和大家切磋
需要注意的是,有些帖子里说,需要把LaunchScreen.xib相关的内容一并删掉,但是我发现删掉以后,会造成无论如何都无法全屏显示的结果,具体原因未知,初入iOS,还有很多未知,希望大家多多指点
- 使用XIB创建iOS工程
- IOS-Xcode5.1.1创建Xib工程
- IOS使用Xib创建自定义View
- iOS XIB文件的简单创建使用
- iOS 怎样创建不带storyboard的工程(或只带xib的工程)
- 使用Xib创建UICollectionView
- 使用 xib 创建 tableViewCell
- 使用xib创建控制器
- iOS 使用xib创建cell的两种初始化方式
- iOS 使用纯代码或xib创建圆角视图
- IOS UITableView 使用xib
- ios xib文件使用
- iOS单独创建xib详解
- ios之xib创建view
- iOS工程中创建并使用SDK
- 使用Small创建iOS工程目录
- iOS工程 SDK的创建、使用
- 使用xib文件创建UITableViewCell
- Java学习------基本数据类型转换
- iOS开发中MVC、MVVM模式详解
- 深入浅出聊Unity3D项目优化:从Draw Calls到GC
- powerbuilder日期函数
- java timer类
- 使用XIB创建iOS工程
- ios 画图,绘制坐标系,画坐标系
- 空气净化器的原理是什么?
- github 操作
- Redis 缓存数据库
- JQuery的animate
- android进程生命周期
- Android ViewPager 修改滑动速度
- Block块的学习笔记