二、认识Xcode(第一个工程:Hello world)
到一个未知的世界去冒险,怎么可以不熟悉自己的武器装备呢?况且我们现在也就Xcode这一样装备,攻击防御全靠它,要是关键时刻使不出技能,那不gg了?
所以接下来我们会大致介绍Xcode的常用界面,并在最后展示一个常用“大招”。
功能区域
总的来说,Xcode主界面可以分为5个主要区域:“导航栏”、“编辑区”、“消息栏”、“功能栏”和“工具栏”(如下图)

其中“导航栏”、“消息栏”和“功能栏”可以通过右上角的3个按钮隐藏/显示。
不妨透露一下,这3 个按钮看上去不起眼,但其实很常用,主要是由于我们的MAC Book的屏幕太小,时常需要隐藏掉这些功能区从而方便编辑。

另外,“编辑区” 有3种不同的模式分别为“标准模式”、“辅助模式”和“版本模式”(如下图红框从左到右依次展示)。
目前我们只接触过“标准模式”,稍安勿躁,马上我们就要使一使“辅助模式”啦。

运行在模拟器/真机
在工具栏中点击下图红框位置,可以选择相应版本的iPhone虚拟机(下图示例为iPhone8)。

如果你的电脑使用USB连接了iPhone真机,则选项中也会自动产生相应的真机选项(下图示例为iPhone5c)。

点击下图红框的按钮即可运行。

使用按钮
沿用上一节提到的“Hello World”工程,我们选中“导航栏”中的Main.storyboard,然后拖拽1个Button到“Hello world”的正下方(如下图)。
注:点击Main.storyboard后,“编辑区”会出现1个新的界面“结构栏”,该栏显示的是storyboard上的控件结构一览表。

不妨运行一下试试看?

“大招”来啦
现在Label有了,Button也有了,但是要怎么把这些控件通过代码联系起来呢?比如,我想通过点击Button来改变Label要怎么做呢?下面即将展现Xcode的图形化开发功能。
首次接触到Xcode的图形化开发功能时,我完全震惊了,作为一个只用过AS的井底Android狗,从没想过这世上还有这么好用的IDE。正应了那句:“天外有天,狗外有狗”。废话少说,代码撩起。
首先,选中Main.storyboard,然后切换到辅助编辑模式,并把不必要的窗口隐藏以腾出屏幕。

在辅助编辑模式的文本编辑区切换到Automatic模式(如果已经是Automatic模式请忽略该步骤)。
在Automatic下,辅助模式会自动将左侧的storyboard图形所对应的代码(确切来说是UIViewController)展示在右侧的文本编辑区。



长按control键,并长按鼠标左键点击label控件,然后拖拽至文本编辑区ViewController类的内部并放开鼠标。

在弹出的窗口中输入名称(此处为labelHelloworld),然后点击Connect。

这样我们的代码里就有了Label了。

同样使用Control拖拽的方法,我们来给Button添加点击事件,在弹出的窗口中使用如下图所示的配置,然后点击Connect。

然后修改生成的buttonEvent函数(如下图)

到此,想必你已经猜出代码的作用了,即点击按钮后,“Hello world”会变成“Good Bye World”,菜鸟手下信心满满,于是乎。。。

咦?“Good Bye World”呢?怎么被截断了?
源码下载:https://pan.baidu.com/s/125Ev_jleBARJLgUSUKOlDQ
二、认识Xcode(第一个工程:Hello world)的更多相关文章
- Annotation 的第一个工程
一.什么是 Annotation? java.lang.annotation,接口 Annotation.对于Annotation,是Java5的新特性,JDK5引入了Metadata(元数据)很容易 ...
- hibernate 的第一个工程
一.什么是Hibernate? Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hiber ...
- 用Firefly创建第一个工程
原地址:http://blog.csdn.net/uxqclm/article/details/10382097 安装完成之后,在python script包中就存在 firefly-admin的工具 ...
- MyGui笔记(1)建立第一个工程
记录下学习 MyGui的一些笔记,从建立第一个工程开始. 步骤: 1.右键MYGUI解决方案,添加→新建项目,选择“Win32 项目”,名称为:TestHello.下一步,勾选“空项目”. 2.设置工 ...
- XMPPFrameWork IOS 开发(二)- xcode配置
原始地址:XMPPFrameWork IOS 开发(二) 译文地址: Getting started using XMPPFramework on iOS 介绍 ios上的XMPPFramewor ...
- xcode创建一个工程的多个taget,便于测试和发布多个版本
背景:很多时候,我们需要在一个工程中创立多个target,也就是说我们希望同一份代码可以创建两个应用,放到模拟器或者真机上,或者是,我们平时有N多人合作开发,当测试的时候,在A这里装了一遍测A写的那块 ...
- 《转》xcode创建一个工程的多个taget,便于测试和发布多个版本
背景:很多时候,我们需要在一个工程中创立多个target,也就是说我们希望同一份代码可以创建两个应用,放到模拟器或者真机上,或者是,我们平时有N多人合作开发,当测试的时候,在A这里装了一遍测A写的那块 ...
- Django(二)框架第一篇基础
https://www.cnblogs.com/haiyan123/p/7701412.html 一个小问题: 什么是根目录:就是没有路径,只有域名..url(r'^$') 补充一张关于wsgiref ...
- 关于在Xcode的OC工程中相对路径失败的原因
Xcode的工程生成的可执行文件不是默认在源文件同一个目录下面的,所以当可执行文件执行的时候,相对路径就不对了. 这一点用终端直接编译执行文件证明了这一点: clang -fobjc-arc -fra ...
随机推荐
- 搭建hbase1.2.5完全分布式集群
简介 有一段时间,没写博客了,因为公司开发分布式调用链追踪系统,用到hbase,在这里记录一下搭建过程 1.集群如下: ip 主机名 角色 192.168.6.130 node1.jacky.com ...
- C++实现景区信息管理系统
景区信息管理系统 实现了: 1.1 建立主程序应用菜单选项 主程序应用菜单选项包含所实现的所有功能,并且对选项采用数字标识进行选择,对其他错误输入可以进行判别,提示输入错误. 1.2 导游线路图的创建 ...
- 在Ubuntu主机下实现与Windows虚拟机共享文件夹
一.概述 由于要实现Ubuntu主机中的一些文件与Windows虚拟机共享,因此要创建一个共享文件夹映射到虚拟机中. 网上许多都是Windows主机+Linux虚拟机的配置,在此分享主机是Linux的 ...
- C#.NET接收JSON数组
如果要在后台接收类似以下的JSON数据 试了object.Array.Hashtable等类型都收不到,string[]数组的话只收到长度,内容还是空的,最后想到用List<string> ...
- react服务端渲染同构报错Browser history needs a DOM
https://github.com/nozzle/react-static/issues/343 去掉了browserRouter就不报错了,但是又会有其他报错..
- SVN常用命令说明
本文转载至 http://www.blogjava.net/jasmine214--love/archive/2011/01/12/342839.html :1.5 及更新版本 名词说明: WC:W ...
- Qt编写高仿苹果MAC电脑输入法(支持触摸滑动选词)
最近有个朋友找我定制一个输入法,需要高仿一个苹果MAC电脑的输入法,MAC操作系统的审美无疑是相当棒的,于是乎直接拿以前的输入法高仿了一个,由于之前有做过输入法这块的开发,而且改进了四年,各种需求都遇 ...
- 怎么用js编写1——100的质数?
这里来自csdn问答的一个问题,怎么用js编写1——100的质数? http://ask.csdn.net/questions/214429 质数也就是素数,即只能被1和自身整除的数,因此可以构造循环 ...
- iframe 加载外部资源,显示隐藏loading,onload失效
在项目中使用iframe 来加载外部资源,需要在iframe请求外部资源的时候,需要显示一个loading,在加载完成后,将这个loading隐藏掉,刚开始看到W3C中 iframe有一个 onloa ...
- 协程greenlet、gevent
greenlet为了更好使用协程来完成多任务,python中greenlet模块对其封装,从而使得切换任务变得更加简单安装方式 pip3 install greenlet 示例代码: from gre ...