IOS代码实现Hello World

2023-11-20

前面写的iOS笔记一直都是用Xib文件实现的小Demo开发,但是问了好几个现在正从事ios开发的朋友,在实际开发,并不是所有的项目都会用Xib来实现的,因为IOS以前的版本不能正常运行,因为还在学习阶段,也没有在真机上测试,所以没法验证。但还是决定要用代码来实现Demo,也可以重新巩固一下先前学习的内容。

通过Xcode的版本更新,先有的实现方法应该有3种。

第一种:通过代码实现

第二种:通过Xib文件实现

第三种:能过Storyboard配置实现

代码实现项目的开发,在开发周期上要慢一点,但是在学习阶段无疑是更好的,让我在学习过程中能记忆更深刻一点

Xib文件相对代码的实现方法,则开发速度上要更快些,也是必须要掌握的

Storyboard这个就更快了,基本上不用关注窗口,整个View业务也像UML图一样,一看就能很清楚

总结我知道的3种方法,就只接上图上代码了。


首先创建一个emtpy application项目,命名为CodeHelloWorld


在创建一个名为MainViewController的Class文件


AppDelegate.h添加代码

  1. #import <UIKit/UIKit.h>  
  2. // 引入添加的MainViewController.h  
  3. #import "MainViewController.h"  
  4.   
  5. @interface AppDelegate : UIResponder <UIApplicationDelegate>  
  6.   
  7. @property (strong, nonatomic) UIWindow *window;  
  8. @property (strong, nonatomic) MainViewController *mainView;  
  9.   
  10. @end  

AppDelegate.m添加代码
  1. #import "AppDelegate.h"  
  2.   
  3. @implementation AppDelegate  
  4. @synthesize window = _window;  
  5. @synthesize mainView = _mainView;  
  6.   
  7. - (void)dealloc  
  8. {  
  9.     [self.window release];  
  10.     [self.mainView release];  
  11.     [super dealloc];  
  12. }  
  13.   
  14. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
  15. {  
  16.     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];  
  17.     self.mainView = [[MainViewController alloc] init];  
  18.     self.window.rootViewController = self.mainView;  
  19.     [self.window makeKeyAndVisible];  
  20.     return YES;  
  21. }  

接下来就是创建当前显示的UIView和UILabel显示Hello World了

打开MainViewController.m文件,添加以下方法

  1. - (void)loadView  
并在方法内添加以下代码
  1. // 声明一个UIView  
  2.     UIView *view = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];  
  3.     // View的背景设置为白色  
  4.     view.backgroundColor = [UIColor whiteColor];  
  5.       
  6.     self.view = view;  
  7.     [view release];  
  8.       
  9.     CGRect rect = CGRectMake(100, 100, 300, 100);  
  10.     UILabel *textLabel = [[UILabel alloc] initWithFrame:rect];  
  11.     textLabel.text = @"Hello World";  
  12.     textLabel.textColor = [UIColor redColor];  
  13.     [self.view addSubview:textLabel];  

运行项目后,就可以看到神一样的hello world了

DEMO下载

http://download.csdn.net/detail/qq5306546/4824578



FROM: http://blog.csdn.net/qq5306546/article/details/8049688




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IOS代码实现Hello World 的相关文章

  • 无法在 iOS UIWebView 中加载完整的 Facebook 评论插件

    我有一个简单的ViewController在 UIWebView 中加载 FB 评论插件 implementation ViewController void viewDidLoad super viewDidLoad UIWebView
  • 在应用程序中全局关闭自动更正

    我想在 iPad 应用程序中禁用文本输入自动更正 无论设备上自动更正的全局设置是什么 有没有一种好的方法可以通过 API 执行此操作 或者我只需要浏览整个应用程序 找到所有文本输入字段 然后单独关闭每个字段的选项 抱歉 您必须检查所有文本字
  • UITableView 无法一直滚动到底部[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我只是好奇 我做了一些UITable
  • 子视图的子层与更高的子视图重叠

    我有一个问题 我正在创建一个UIView这是从方法返回的 这部分很好 但我注意到 当我将子层添加到其中一个子视图时 这些层与子层添加的层次结构中较高的子视图 textView 和 imageView 重叠到testViewCopy出现在这些
  • iOS 视频压缩 Swift iOS 8 损坏的视频文件

    我正在尝试压缩用户相机从 UIImagePickerController 拍摄的视频 不是现有视频 而是动态视频 以上传到我的服务器 并花费少量时间来完成此操作 因此较小的尺寸是理想的选择 而不是 30 较新质量的相机为 45 mb 这是在
  • Swift Firebase - 如何在使用 queryOrdered(byChild: ).queryEqual(toValue: ) 时获取所有 k/v

    root reviews postABC postId reviewXYZ I want everything under this reviewUID buyerUID 01010 text fast shipping responseT
  • 了解 React Native 中的默认字体大小

    在过去的几个月里 我一直在开发一个 React Native 应用程序 但有些事情总是让我困惑 而我现在正试图弄清楚它的真相 我正在尝试标准化应用程序中的字体大小 正文 标题等 并且正在努力了解 React Native 究竟从哪里获取默认
  • 使用 Metal 高效计算 UIImage/CIImage 中有多少透明像素

    我们可以计算有多少个透明像素的最快方法是什么CIImage UIImage 例如 如果我们谈论效率 我的第一个想法是使用Metal Kernel使用任一CIColorKernel左右 但我不明白如何使用它来输出 计数 我还有其他想法 使用某
  • 使用 iPhone 控制蓝牙音频设备

    我正在寻找为 iPhone 编写应用程序 它将能够控制汽车中的收音机和 CD 播放器 收音机和播放器具有可用的蓝牙连接 我开始这个问题是为了获得这个地方所需的所有信息 我有几个问题 但如果您发现任何我没有要求的对我开始开发此应用程序不重要的
  • 如何在 Safari 上打开本地 html 文件?

    我想打开本地 html 文件Safari集成到我的Swift 3应用 我知道如何使用网址来做到这一点 这是我用来执行此操作的代码 let encodedString url addingPercentEncoding withAllowed
  • 在 UIView 中绘制彩色文本 -drawRect: 方法

    我正在尝试在我的中绘制彩色文本UIView子类 现在我正在使用单视图应用程序模板 用于测试 除了以下内容外 没有任何修改drawRect method 文本已绘制 但无论我将颜色设置为什么 它始终是黑色的 void drawRect CGR
  • 从 plist 文件中解码数据

    我丢失了在 Macbook Air 上用 Textwrangler 编写的文本文件中的一些数据 我在扩展名为 plist 的文件中找到了其中一些 文件是用 xml 编写的 如下所示
  • 返回一个dispatch_async获取的变量[重复]

    这个问题在这里已经有答案了 基本上 一个方法需要返回一个在dispatch async中获取的NSDictionary 这是我尝试过的 NSDictionary fetchNSDictionary dispatch queue t Queu
  • 将 UIRefreshControl 用于 UIWebView

    我在 iOS 6 中看到了 UIRefreshControl 我的问题是是否可以通过下拉来刷新 WebView 而不是像在邮件中那样让它弹出 我使用 rabih 的代码是 WebView UIRefreshControl refreshCo
  • Swift 3 中数组的 indexOf(_:) 方法的替换

    在我的项目 用 Swift 3 编写 中 我想使用从数组中检索元素的索引indexOf 方法 存在于 Swift 2 2 中 但我找不到任何替代方法 Swift 3 中是否有任何好的替代方法或类似的方法 Update 我忘记提及我想在自定义
  • iOS JPEG 图像旋转 90 度

    我正在使用选择器视图从相册中选择图像 我使用上面的代码 void imagePickerController UIImagePickerController picker didFinishPickingMediaWithInfo NSDi
  • IOS 上图像的加密/解密

    我们正在使用加密 解密和 UIIMAGE 如果我们加密和解密 UIIMAge 而不保存到 iphone 画廊中 它工作正常 但如果我们加密 保存到画廊中 将 加密的图像 加载到应用程序中 然后解密它效果不好 我们使用这个函数来加密 解密 保
  • iOS:我如何知道某个属性是否符合 KVO 标准?

    In the 键值观察编程指南 https developer apple com library archive documentation Cocoa Conceptual KeyValueObserving KeyValueObser
  • SwiftUI - 从 NSObject 继承的 ObservableObject 在 iOS 13 中不会更新

    我知道 这是 无法在 iOS XX 中工作 问题之一 但我完全陷入困境 所以我有一个ObservableObject继承自的类NSObject 因为我需要听委托方法UISearchResultsUpdating class SearchBa
  • 如何像谷歌日历一样将单元格的内容滚动到表格视图中的另一个单元格中?

    我希望用户界面像谷歌日历那样进入桌面视图 它在不同的行中显示相同的日期事件 但是当您向上或向下滚动时 左侧的日期也会向上向下滚动 Can you please help me how to achieve this Please take

随机推荐

  • MySQL报错的解决Can‘t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock‘

    使用数据库工具连接或还原数据库数据时 提示Can t connect to local MySQL server through socket var lib mysql mysql sock 处理方法 1 修改配置文件 vim etc m
  • 二叉树结构的建立与遍历

    实验项目 1 编写建立二叉树的二叉链表存储结构 左右链表示 的程序 并以适当的形式显示和保存二叉树 2 完成二叉树的7种遍历操作 3 给定一个二叉树 编写算法完成下列应用 1 判断其是否为完全二叉树 2 求二叉树中任意两个结点的公共祖先 输
  • wps日期加减算天数_日期相减之后的天数怎么用公式计算 - 卡饭网

    如何在Excel中得到两个日期相减的天数 如何在Excel中得到两个日期相减的天数 有的小伙伴在使用Excel软件时 想要知道两个日期相减后的天数 但是却不知道使用什么公式 也不知道公式中的数据的含义 那么小编就来为大家介绍一下吧 具体如下
  • Python安装教程(版本3.8.10)windows10

    Python目前已支持市面上的各大主流操作系统 在Linux Unix Mac系统已经自带Python环境 本章将介绍在Windows系统上安装Python 一般下载 executable installer x86 表示是 32 位的机器
  • 基于Python Django 搜索的目标站点内容监测系统设计

    1 简介 基于搜索的目标站点内容监测系统 包括登陆 首页 数据采集 爬虫分析 数据管理 修改密码和用户管理等功能 2 技术栈 说明 技术栈 备注 后台 Python Django 前端 HTML 数据库 MYSql 架构 B S 结构 3
  • MySQL数据库保姆级安装教程

    俗话说从入门到放弃 从入门到入土 开始学习MySQL之前我们一定是要做环境准备的 接下来我们来讲解一下MySQL的安装 一 MySQL下载 MySQL 1 大家可以尝试在官网首页寻找下载入口 也可以使用我提供的MySQL的安装包进行下载安装
  • 数据结构之双向链表,实现双向链表的增删改查

    目录 一 双向链表的定义 1 双向链表节点的定义 2 双向链表的初始化 二 双向链表的函数接口实现 1 双链表的尾插 2 双向链表的尾删 3 双向链表的头插 4 双向链表的头删 6 双向链表在pos前面插入 7 双向链表删除pos位置的节点
  • 1.Twitter开发者之如何申请一个twitter开发者账号

    Twitter开发者之如何申请一个twitter开发者账号 教大家申请一个推特开发者账号满足后面的使用 保证每一步都给大家介绍到 非常详细 希望帮助大家注册好自己的账号 1 先打开Twitter的账号注册界面 选择使用手机号码或电子邮箱注册
  • C51单片机实验——脉冲计数显示(proteus+asm)

    前言 脉冲信号输入进2级74LS14整形 T1接收脉冲信号并计数 显示在LED 外部中断0控制计数器的启动 停止 外部中断1控制计数器的清零复位 P1 0控制LED的段选口使能信号 P1 1控制LED的位选口使能信号 Proteus电路图
  • ios代码大全】代码例子区全区搜索索引

    IOS 类代码 我自己做的翻书效果 小猫咪再次登场 2011 03 02 如何实现QQLive HD界面 附代码 2011 03 02 tabelviewcell 点击设置背景图片 2011 03 02 基于UDP的聊天程序 借鉴iphon
  • OpenGL ES 3.0 Programming Guide 1-3

    一 introduction to OGLES 3 0 OGLES 3 0 Graphics Pipeline VertexBuffer ArrayObj gt VertexShader texture transform feedback
  • C51的1602LCD液晶显示

    C51的1602LCD液晶显示 1 引脚功能介绍 2 基本操作时序 3 1602 液晶的指令介绍 4 实例 1 引脚功能介绍 1602 液晶就是可以显示 2 行 每行 16 个字符的液晶 一共 16 个引脚 每个引脚的功能 我们都可以在它的
  • redis操作 AOF RDB 主从复制 集群

    Redis操作 1 Redis的持久化 Redis提供了2个不同方式的持久化方式 RDB RDB是指在指定的时间间隔将内存中的数据集快照写入磁盘 也就是行话讲的Snapshot快照 它恢复时将快照文件直接读到内存中 备份是如何进行的 Red
  • 算法练习:“回”字形打印矩阵、“之字”形打印矩阵

    转圈输出n n的矩阵 进而输出 M N 的矩阵 12 34 输出为 1243 对于任意一个矩阵 可以找到他的位于正对角线两边界的元素 1234 5678 4329 对于这个矩阵 第一个边界元素是1 第二个边界元素是9 假设 1 的坐标为 r
  • Kibana 配置详解

    Kibana 配置详解 前言 一 Kibana 核心目录结构 二 Kibana 核心配置文件 参考 前言 该博文主要介绍Kibana文件目录结构说明 以及Kibana的配置说明 Kibana的安装使用可以参考我的Kibana分类专栏 本文针
  • android获取当前栈顶的activity

    在Application的onCreate方法中 Override public void onCreate registerActivityLifecycleCallbacks new ActivityLifecycleCallbacks
  • JSP页面出现Invalid location of tag (div)

    意为 不合法的标签标记 原因是我使用标签的方法不对 把table标签删除就可以了
  • C++读取shd二进制文件

    include
  • RocketMQ报No route info of this topic

    最近某天突然收到报警邮件 线上某个应用发送MQ消息报错 完整异常栈如下 2018 04 08 18 17 44 126 DubboServerHandler 10 141 6 116 20968 thread 172 ERROR com x
  • IOS代码实现Hello World

    前面写的iOS笔记一直都是用Xib文件实现的小Demo开发 但是问了好几个现在正从事ios开发的朋友 在实际开发 并不是所有的项目都会用Xib来实现的 因为IOS以前的版本不能正常运行 因为还在学习阶段 也没有在真机上测试 所以没法验证 但