Xcode5下使用纯代码构建简单的HelloWorld程序
转自:http://blog.csdn.net/developerxyf/article/details/12874935
新发布的Xcode5在使用模板创建工程的时候取消了以往是否要选择storyboard的选项,也就是说以后使用Xcode建立应用程序界面均统一使用storyboard来创建应用程序界面。可以看到随着时间的发展,在Xcode中一些旧的或者低级一些的东西会被逐步略去。但是不管是storyboard还是IB都只是界面生成辅助工具,不管以后还会发展出什么其他的界面生成辅助工具,使用纯源代码创建程序界面的方法在任何时候都应该不会失去作用,并且在界面灵活性、定制性方面比辅助工具要更有适用性。
进入正题,打开Xcode选择Empty Application模板创建新工程
填写HelloWorld作为工程名,选择好工程文件保存目录后,工程列表文件如下
这个时候点击Run按钮运行程序会得到一个空白的iphone界面
但同时在Debug area下面也回出现“
Application windows are expected to have a root view controller at the end of application launch
”的警告,这是因为应用程序代理在加载时需要一个试图控制器类作为作为他的"root view controller"。点击File->New->File 点击Cocoa Touch分类选择Objective-C Class输入HelloWorld作为类名。现在在我们的工程文件列表中包含了HelloWorldViewController.h和HelloWorldViewController.m文件
在AppDelegate.h中添加对HelloWorldViewController.h的引用
#import "HelloWorldViewController.h"
并且在AppDelegate.m中修改“application didFinishLaunching”方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColorwhiteColor];
HelloWorldViewController *myViewController = [[HelloWorldViewControlleralloc]init];
self.window.rootViewController = myViewController;
[self.windowmakeKeyAndVisible];
return YES;
}
这样就不会再出现警告了,接下来在自定义的试图控制器中添加需要显示“HelloWorld”的Label,在HelloWorldViewController.m中添加
@property (nonatomic, strong) UILabel *label;
和对此UILabel的生成和展示代码
- (void)viewDidLoad
{
[superviewDidLoad];
self.label = [[UILabelalloc]
initWithFrame:CGRectMake(115.0f, 150.0f, 200.0f, 30.0f)];
self.label.text = @"Hello World!";
[self.viewaddSubview:self.label];
}
initWithFrame方法确定标签的位置和大小,CGRectMake(X坐标,Y坐标,width,height)方法确定控件的位置属性。点击Run运行程序之后运行结果如下:
Xcode5下使用纯代码构建简单的HelloWorld程序的更多相关文章
- 使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&引用jquery来实现alert
使用webstorm+webpack构建简单入门级"HelloWorld"的应用&&构建使用jquery来实现 1.首先你自己把webstorm安装完成. 请参考这 ...
- 使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&构建使用jquery来实现
使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&构建使用jquery来实现 1.首先你自己把webstorm安装完成. 请参考这篇文章进行安装和破解 ...
- [MFC]_在vs2019中使用MFC快速构建简单windows窗口程序
微软基础类库(英语: Classes,简称MFC)是微软公司提供的一个类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发 ...
- 《CoffeeScript应用开发》学习:第三章-构建简单的应用程序
字符串插值 CoffeeScript提供了一种更好的构建字符串的解决方案.在双引号字符串(单引号无效)中使用#{}包含一个动态的值. str = 'Hello, CoffeeScript.' cons ...
- windows下使用vs code调试简单的C程序
常使用visual studio code(vs code)打开.c文件,如果让vs code具备调试技能估计会比较有用 准备工作: 1. vs code安装插件:cpptools 2. window ...
- iOS:删除storyBoard,纯代码实现UITabBarController的视图切换功能
storyboard是一个很强大的编写代码的辅助工具,可以帮助布局多个视图之间的联系,既直观又能减少代码量:但是,作为一个程序员,在不使用storyboard的情况下,纯代码编写是必须的技能. 下面就 ...
- ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局
本文转自 :http://www.cnblogs.com/wendingding/p/3761730.html ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布 ...
- 纯CSS实现二级导航下拉菜单--css的简单应用
思想:使用css的display属性控制二级下拉菜单的显示与否.当鼠标移动到一级导航菜单的li标签时,显示二级导航菜单的ul标签.由于实现起来比较简单,所以在这里直接给出了参考代码. 1.纯CSS二级 ...
- 使用QT实现一个简单的登陆对话框(纯代码实现C++)
使用QT实现一个简单的登陆对话框(纯代码实现C++) 效果展示 使用的QT控件 控件 描述 QLable 标签 QLineEdit 行文本框 QPushButton 按扭 QHBoxLayout 水平 ...
随机推荐
- 用yum安装完mysql后没有mysqld的问题
在Centos中用命令 yum install mysql安装数据库,但装完后运行mysqld启动mysql的时候提示找不到,通过 find / | grep mysqld 也没找到mysqld的目录 ...
- python笔记10-多线程之线程同步(锁lock)
前言 关于吃火锅的场景,小伙伴并不陌生,吃火锅的时候a同学往锅里下鱼丸,b同学同时去吃掉鱼丸,有可能会导致吃到生的鱼丸. 为了避免这种情况,在下鱼丸的过程中,先锁定操作,让吃火锅的小伙伴停一会,等鱼丸 ...
- Linux下启动和停止Java应用程序的Shell脚本
转自:http://blog.csdn.net/jadyer/article/details/7960802 资料参考来源自兔大侠,并略作修改:http://www.tudaxia.com/archi ...
- golang解析json格式 -- 全
项目中客户端和服务端的交互数据部分为json,因此在服务端就得解析,复杂的json解析起来其实还是挺费劲的. 交互的数据类似如下格式: {"sn":1,"ls" ...
- linux缓存nscd
1.安装 yum -y install nscd 2.配置文件: /etc/nscd.conf 3.缓存文件:缓存DB文件在/var/db/nscd下.可以通过nscd -g查看统计的信息 4.清除 ...
- centos7 将服务添加到systemctl
centos7中提供了systemd服务,可以方便的管理各种服务 但是有些通过编译安装的服务systemd里面没有,我们只需要添加一下服务文件即可 以下用nginx作为例子,展示如何添加服务到syst ...
- mac osx加入全局启动terminal快捷键
尽管有非常多第三方工具(Alfred.keyboad Maestro)能够设置全局启动terminal快捷键,但怎么感觉都不如native的好,呵呵.本文就使用mac 自带的Automator来创建一 ...
- css border-sizing 用法与理解
浏览器支持 IE Firefox Chrome Safari Opera 支持 支持 支持 支持 支持 Internet Explorer.Opera 以及 Chrome 支持 box-si ...
- 【云计算】OpenStack项目全面介绍
关于OpenStack孵化项目trove(DBaaS)之我见:http://blog.csdn.net/ddl007/article/details/17253751 OpenStack Trove将 ...
- 【笔记】探索js 的this 对象 (第二部分)
了解this 对象之后 我们明白了this 对象就是指向调用函数的作用域 那么接下来我们便要清除函数究竟在哪个作用域调用 找到调用的作用域首先要了解一下几点: 1.调用栈: 调用栈就是一系列的函数,表 ...