环境:MAC+Xamarin Studio

  先讲讲安装吧,最普遍的方法就是去Xamarin官网,注册个账号,填写信息啥的开始下载,安装。但,在天朝的网络环境下,在下载android模块的东东时,总会下载失败,但你又没办法跳过。我曾经挂了一个晚上去下载,抱着晚上网络质量应该好点的自我安慰侥幸心理,结果第二天早上来的时候发现,还是下载失败。为了避免各位新人再入坑,和大家说下另外一个下载方法,用Google搜索 xamarin studio download xml,进入网站 https://static.xamarin.com/installer_assets/v3/Mac/Universal/InstallationManifest.xml 中,找链接,分批下载,安装。下面截个图说明下:

OK,Xamrin Studio下载安装应该没啥问题了,再去App Store下载最新的Xcode,环境就算大功告成了。

  好,接下来,开始我们的第一个工程。这里我们选择Single View App

  

填好App Name,就建好一个IOS项目了

  

  新建工程的目录如下:

  

  OK,这样的项目是可以直接运行了,但是APP上什么内容也没有,一片白。接下来,我们弄点东东到APP上去。IOS开发,有两种方式可以进行控件布局。一种是在storyboard上,拖拉控件定位。一种是手撕代码,写控件。

  首先我们来讲第一种方式,利用storyboard进行布局。新建的项目,默认是storyboard方式的布局。我们所看到的一片白,就是Main.storyboard显示出来的。为什么会显示Main.storyboard上的布局呢,这和Info.plist中的设置有关,具体位置在下图中的红线标出来的位置。

  好,接下来,我们打开Main.storyboard文件,如下左图所示,其中红色矩形框出来的箭头,可以理解为起点,该箭头指向某个ViewController,APP就会以该ViewController作为LaunchScreen后首先显示的页面,设置的方式有两种,一种简单粗暴,直接拖拽;一种设置属性,选择ViewController,勾选下面右图红框内的属性即可。

    

  接下来,我们实现一个简单的功能,点击Button,改变View的background color。我们拖拽一个Button至View中,双击该Button,回车确定该事件的书写位置,即可创建该事件的方法,是不是和winform很像。

    public partial class ViewController : UIViewController
{
bool isWhite = true; protected ViewController(IntPtr handle) : base(handle)
{ } partial void UIButton10_TouchUpInside(UIButton sender)
{
if (isWhite)
{
this.View.BackgroundColor = UIColor.Red;
isWhite = false;
}
else
{
this.View.BackgroundColor = UIColor.White;
isWhite = true;
}
}
}

当然,也可以手撕一个事件,在storyboard上,Button属性中,给Button的Name赋值button。

public partial class ViewController : UIViewController
{
bool isWhite = true; protected ViewController(IntPtr handle) : base(handle)
{ } public override void ViewDidLoad()
{
base.ViewDidLoad();
button.TouchDown+=(o,s)=>
{
if (isWhite)
{
this.View.BackgroundColor = UIColor.Red;
isWhite = false;
}
else
{
this.View.BackgroundColor = UIColor.White;
isWhite = true;
}
};
}
}

  有心的同学可能会问了,一个storyboard是如何与.CS文件关联的呢?答案也在storyboard中,ViewController属性中的class选项便是与.CS文件关联的关键。

  还有同学会问了,我这个button只是设置了storyboard中的Button的name呀,怎么可以直接在类文件中直接用了,答案在类文件下的.designer.cs中

  

  这样,我们就算完成了第一个APP。

Xamarin.ios——First APP的更多相关文章

  1. Xamarin.iOS - 利用Settings插件与EAIntroView制作App的欢迎界面

    Xamarin.iOS - 利用Settings插件与EAIntroView制作App的欢迎界面 关于欢迎界面 很多App第一次启动都会有一个欢迎界面,欢迎界面往往决定这用户对App的第一映像,所以欢 ...

  2. Xamarin.iOS开发初体验

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0

  3. Xamarin Studio在Mac环境下的配置和Xamarin.iOS常用控件的示例

    看过好多帖子都是Win环境装XS,Mac只是个模拟器,讲解在Mac环境下如何配置Xamarin Studio很少,也是一点点找资料,东拼西凑才把Xamarin Studio装在Mac上跑起来,如下: ...

  4. 1从零开始学习Xamarin.iOS安装篇

    安装和配置xamarin.ios 最近.net 开源新闻很火呀,于是想学习xamarin,早1年前就了解过这个东西,但是一直没有时间来学习,我这里装的是MAC上面的版本,废话不多说开始第一步安装. 概 ...

  5. Xamarin.iOS提供没有匹配的配置文件

    Xamarin.iOS提供没有匹配的配置文件 错误信息:No installed provisioning profiles match the installed ios code signing  ...

  6. iOS Simulator功能介绍关于Xamarin IOS开发

    iOS Simulator功能介绍关于Xamarin IOS开发 iOS Simulator功能介绍 在图1.38所示的运行效果中,所见到的类似于手机的模型就是iOS Simulator.在没有iPh ...

  7. 用c#开发苹果应用程序 xamarin.ios方式

    NetworkComms网络通信框架序言 Networkcomms网络通信框架来自于英国,支持以xamarin.ios的方式开发苹果应用程序 其开源版本2.3.1中带有一个示例程序,实现聊天功能,只要 ...

  8. 【Xamarin挖墙脚系列:Xamarin.IOS的程序的结构】

    原文:[Xamarin挖墙脚系列:Xamarin.IOS的程序的结构] 开始熟悉Xamarin在开发IOS的结构!!!!!!! 先看官方 这个是以一个单页面的程序进行讲述的. 1 程序引用的程序集,核 ...

  9. Xamarin IOS – hello word

    原文:Xamarin IOS – hello word 环境 硬件:Macbook pro Retina 13 系统:10.11.3 EI Capitan Xcode:7.0 Ps:配置刚刚够用. 安 ...

随机推荐

  1. Spring-Context之八:一些依赖注入的小技巧

    Spring框架在依赖注入方面是非常灵活和强大的,多了解点一些注入的方式.方法,绝对能优化配置. idref idref属性可以传入一个bean的名称,虽然它是指向一个bean的引用,但是得到的是该b ...

  2. Senparc.Weixin.MP SDK 微信公众平台开发教程(十三):地图相关接口说明

    为了方便大家开发LBS应用,SDK对常用计算公式,以及百度和谷歌的地图接口做了封装. 常用计算: 用于计算2个坐标点之间的直线距离:Senparc.Weixin.MP.Helpers.Distance ...

  3. Redmine与Windows AD集成设置

    Redmine的账号支持跟LDAP集成,以下是在WINDOWS AD账号的集成配置过程. 首先下载一个微软的dsquery.exe工具,用来查询自己的账户信息. C:\WINDOWS>dsque ...

  4. Oracle日期时间函数大全

    ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits ...

  5. Atitit  深入理解命名空间namespace  java c# php js

    Atitit  深入理解命名空间namespace  java c# php js 1.1. Namespace还是package1 1.2. import同时解决了令人头疼的include1 1.3 ...

  6. html_02之表单、其它

    1.表单属性action:处理表单数据服务器端处理程序地址,默认提交本页: 2.表单属性method:①get:明文,数据显示地址栏,长度<2KB,向服务器请求数据时使用:②post:密文,提交 ...

  7. Liferay7 BPM门户开发之37: Liferay7下的OSGi Hook集成开发

    hook开发是Liferay客制扩展的一种方式,比插件灵活,即可以扩展liferay门户,也能对原有特性进行更改,Liferay有许多内置的服务,比如用hook甚至可以覆盖Liferay服务. 可作为 ...

  8. javaweb回顾第十篇JSTL

    前言:JSTL(JSP Standard Tag Library)JSP标准标签库.它的目的是为了简化JSP的开发,如何没有JSTL可能我们开发的时候就需要写大量的自定义标签,无疑会加大开发难度,有了 ...

  9. 深入理解PHP内核(九)变量及数据类型-静态变量

    原文链接:http://www.orlion.ga/251/ 通常静态变量是静态分配的,他们的生命周期和程序的生命周期一样长,只有在程序退出后才结束生命周期,这和局部变量相反,有的语言中全局变量也是静 ...

  10. Zookeeper-Zookeeper client

    当我写完Zookeeper leader选举后,准备看看Zookeeper的存储和处理客户端请求的时候发现,如果能看看Zookeeper的API是不是在理解后面的过程更好些呢. Zookeeper的c ...