【Xamarin挖墙脚系列:Xamarin.IOS的程序的结构】
原文:【Xamarin挖墙脚系列:Xamarin.IOS的程序的结构】
开始熟悉Xamarin在开发IOS的结构!!!!!!!
先看官方
这个是以一个单页面的程序进行讲述的。
1 程序引用的程序集,核心的Xamarin.IOS 程序集,包含了对应版本的API
2 组件 官方商城上的组件
3 资源文件 位图 音频 视频等文件
4 Main.cs 定义程序启动入口
5 AppDelegate.cs 程序启动后,定义窗口容器,并接收来自系统的事件消息。
6 Main.storyboard 视图上的部件容器
7 ViewController.cs 控制器
8 ViewController.designer.c ,在画板 storyboard 上的部件,在这里都会自动生成对应的基本属性设置操作
9 Info.plist 应用的一些基本信息描述
10 Entitlements.plist 依赖的Apple的服务
程序加载运行流程图
Main 程序入口
Application Delegate
The AppDelegate
class manages the application Window. The Window is a single instance of the UIWindow
class that serves as a container for the user interface. By default, an application gets only one Window onto which to load its content, and the Window is attached to aScreen (single UIScreen
instance) that provides the bounding rectangle matching the dimensions of the physical device screen.
The AppDelegate is also responsible for subscribing to system updates about important application events such as when the app finishes launching or when memory is low.
定义程序运行时候的窗口容器,窗口 window 是自动适应物理屏幕的。此外,它还负责监听来自系统的事件通知。比如,app加载中或者内存低。
User Interface 界面
如果你有做过MVC模式的开发,这里应该很容易。Model-View-Controller。
视图控制器应该在MVC设计模式中扮演控制层(C)的角色,UIViewController的职责对内管理与之关联的View,对外跟其他UIViewController通信和协调。一个视图控制器管理一个视图(它可以有子视图),其view属性指向它所管理的视图。UIViewController类可以有子类,可以使用一个系统的UIViewController子类或者直接自己创建一个UIViewController的子类。
单界面程序仅仅有一个内容控制器,多界面的程序有多个控制器。每个控制器,对应的内容部件按照一定的层次堆积。(
控制器 跟视图之间怎么关联的,在画板(xml)文件中,有对应的节点,将二者进行了绑定。
)
iOS Designer and Storyboards
设计器+画板
看到这,我想起了以前做Silverlight的时候,在Blend中进行的动画设计.............................
每个画板都是一个布局场景,在画板中有对应的内容布局的层次结构。关联到对应的控制器。在布局文件中,上面我们设计UI部件。在右下角,我们设置关联的控制器。
点击后,在属性窗口会有对应的显示。
上图中,灰色的那个箭头,是一个Segue,它用来进行视图之间的的转换操作。连接视图。
在上面,只有一个根Segue,表示程序启动的时候,我们会首先进入这个视图。视图中是一个UIView的实例,在根视图,跟内部的子部件View部件进行加载。最终呈现到屏幕上。
UIView中的内容部件的层次,是按照倒树状的排列组织的。
下图,显示了一个视图的加载的层次结构。在App启动后,加载一个window实例,提供程序界面的容器。界面UIView包含一个根节点组织的树状的内容,子部件。内容关联的控制器,负责内容的显示控制,事件操作。
View Controllers and the View Lifecycle
控制器 和 视图的生命周期
视图控制器中的基本事件可以被重载的:
1 ViewDidLoad 在视图被加载进内存后触发调用此方法,我们可以在这里进行一些初始化的操作
2 ViewWillAppear 视图即将显示到屏幕之前调用的
3 ViewWillDisappear 视图从屏幕消失的之前发生。用来做清理或者状态的持久化
4 ViewDidAppear and ViewDidDisappear 这一对事件在视图Render部件或者卸载部件的时候 触发
在不同的阶段,我们进行代码控制视图。所需要的工作就是对这些方法进行重载!override
视图控制器最核心的职责,是接受处理,视图上的部件的事件。比如一个按钮的点击操作(touch event will be invoked.........)
当我们给视图中的部件,比如一个Button,给他的Name属性赋值的时候,我们就马上会在视图关联的控制器中的后台文件中,得到对应的字段声明。
控制器 跟他的后台文件 Designer.cs,两个是一个同名的分部类。partail class.。。。。






Testing, Deployment, and Finishing Touches
测试 部署 发布程序
调试就是在VS或者Xamarin studio中Debug按钮点击。前提是 你选好了对应的SDK +Device..............并且编译通过。然后你就可以去你的Mac设备上看模拟器了。
真机调试
真机调试的话 需要 苹果的开发者数字证书!!!!!(奶奶的,每年好多银子)个人学习的话,就测试模拟器就好。。。。
真的发布程序作品的时候,还是需要下血本买证书的。
证书咋的买,咋的导入到XCode 等等步骤。百度去吧,一大堆
Generate Custom Icons and Launch Images
这个得单独说说。
由于IOS3之后 ,苹果的屏幕都是 视网膜(Retina)屏幕,这个比较有尿性的是二倍高清显示,就是相同的区域内可以显示2个单位的像素,而不是普通屏幕的单像素。。。。
所以 ,图标都是2X高清图,还有就是设备的不同 IPAD IPOD MINI IOS 4 5 6 (s)的屏幕,决定了尺寸的 大小,选图的时候需要注意...................
好了。开始吧 小伙子。我看好你哦~~~~~~~~~~~
【Xamarin挖墙脚系列:Xamarin.IOS的程序的结构】的更多相关文章
- 【Xamarin 挖墙脚系列:IOS 开发界面的3种方式】
原文:[Xamarin 挖墙脚系列:IOS 开发界面的3种方式] xcode6进行三种基本的界面布局的方法,分别是手写UI,xib和storyboard.手写UI是最早进行UI界面布局的方法,优点是灵 ...
- 【Xamarin挖墙脚系列:IOS现有的设备SDK /OS/硬件一览】
附件下载: http://pan.baidu.com/s/1o7rsrUE
- 【Xamarin挖墙脚系列:Xamarin.IOS机制原理剖析】
原文:[Xamarin挖墙脚系列:Xamarin.IOS机制原理剖析] [注意:]团队里总是有人反映卸载Xamarin,清理不完全.之前写过如何完全卸载清理剩余的文件.今天写了Windows下的批命令 ...
- 【Xamarin挖墙脚系列:如何从一个Apk程序转化为Xamarin的程序】
原文:[Xamarin挖墙脚系列:如何从一个Apk程序转化为Xamarin的程序] 工欲善其事必先利其器:工具下载:http://pan.baidu.com/s/1skxjwgH 接下来,我用个小的应 ...
- 【Xamarin挖墙脚系列:典型的业务程序的结构搭建】
原文:[Xamarin挖墙脚系列:典型的业务程序的结构搭建] 其实app就是客户端.在现代的程序中,都是典型的C/S结构.当然,一些离线的小游戏,功能性应用除外,如:电话本,通信录,短信查看等等 这个 ...
- 【Xamarin挖墙脚系列:应用的性能调优】
原文:[Xamarin挖墙脚系列:应用的性能调优] 官方提供的工具:网盘地址:http://pan.baidu.com/s/1pKgrsrp 官方下载地址:https://download.xamar ...
- 【Xamarin挖墙脚系列:Xamarin的核心】
原文:[Xamarin挖墙脚系列:Xamarin的核心] Xamarin 包含两个商业产品 :Xamarin.IOS, Xamarin.Android.他们都是通过开源的基于.Net的Mono项目构建 ...
- 【Xamarin挖墙脚系列:Xamarin开发环境配置需求】
原文:[Xamarin挖墙脚系列:Xamarin开发环境配置需求] 前言 因为操作的全是大块头,加大你们的内存,CPU网上飙.... 卤煮的机器配置 最近的版本部署包,百度云离线下载:版本:Xama ...
- 【Xamarin挖墙脚系列:多窗口之间的导航】
原文:[Xamarin挖墙脚系列:多窗口之间的导航] 在Android中:Intent对象,通知松散耦合的Activity等组件 在IOS中:Segue对象连接视图 <button opaque ...
随机推荐
- 万网免费主机wordpress快速建站教程-wordpress下载及安装
进入wordpress官网(http://cn.wordpress.org)下载最新的wordpress安装程序,下载完成后解压到任意电脑目录. 解压完毕后,使用FTP管理工具上传安装文件至主机htd ...
- 一步一步学NUnit
转载:http://tech.sina.com.cn/s/2009-07-17/1129988785.shtml 单元测试基础知识 单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的.很明 ...
- 是么是 API 和 SDK
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码 ...
- iOS-事务相关
事务管理 事务(Transaction):1.构成单一逻辑工作单元的操作集合DBMS中的用户程序DBMS外的可执行程序对数据库的读/写操作序列2.读从数据库中读取数据,首先从磁盘中读到内存(Buffe ...
- [USACO1.2.2]方块转换 Transformations
P1205 [USACO1.2]方块转换 Transformations 标签 搜索/枚举 USACO 题目描述 一块N x N(1<=N<=10)正方形的黑白瓦片的图案要被转换成新的正方 ...
- Codevs 1697 ⑨要写信
1697 ⑨要写信 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 传送门 题目描述 Description 琪露诺(冰之妖精)有操控冷气的能力.能瞬间冻结小东西,比 ...
- bzoj3202:[Sdoi2013]项链
思路:首先考虑如何求珠子个数,一个珠子由a,b,c三个数组成且属于区间[1,a],并满足gcd(a,b,c)=1.由于要求本质相同,对于a,b,c这样的一个无序的数列且满足gcd(a,b,c)=1,设 ...
- MFC类的结构
1. CObject类,MFC库中绝大部分类的基类,封装了MFC中的最基本机制. 运行时类信息机制/动态创建机制/序列化机制等... 2. CCmdtarget - 消息映射机制最基类 3. CWin ...
- android软件开发之webView.addJavascriptInterface循环渐进【一】
本篇文章由:http://www.sollyu.com/android-software-development-webview-addjavascriptinterface-cycle-of-gra ...
- DIV+CSS 网页布局之:两列布局
1.宽度自适应两列布局 两列布局可以使用浮动来完成,左列设置左浮动,右列设置右浮动,这样就省的再设置外边距了. 当元素使用了浮动之后,会对周围的元素造成影响,那么就需要清除浮动,通常使用两种方法.可以 ...