Xamarin.ios——First APP
环境: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的更多相关文章
- Xamarin.iOS - 利用Settings插件与EAIntroView制作App的欢迎界面
Xamarin.iOS - 利用Settings插件与EAIntroView制作App的欢迎界面 关于欢迎界面 很多App第一次启动都会有一个欢迎界面,欢迎界面往往决定这用户对App的第一映像,所以欢 ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
- Xamarin Studio在Mac环境下的配置和Xamarin.iOS常用控件的示例
看过好多帖子都是Win环境装XS,Mac只是个模拟器,讲解在Mac环境下如何配置Xamarin Studio很少,也是一点点找资料,东拼西凑才把Xamarin Studio装在Mac上跑起来,如下: ...
- 1从零开始学习Xamarin.iOS安装篇
安装和配置xamarin.ios 最近.net 开源新闻很火呀,于是想学习xamarin,早1年前就了解过这个东西,但是一直没有时间来学习,我这里装的是MAC上面的版本,废话不多说开始第一步安装. 概 ...
- Xamarin.iOS提供没有匹配的配置文件
Xamarin.iOS提供没有匹配的配置文件 错误信息:No installed provisioning profiles match the installed ios code signing ...
- iOS Simulator功能介绍关于Xamarin IOS开发
iOS Simulator功能介绍关于Xamarin IOS开发 iOS Simulator功能介绍 在图1.38所示的运行效果中,所见到的类似于手机的模型就是iOS Simulator.在没有iPh ...
- 用c#开发苹果应用程序 xamarin.ios方式
NetworkComms网络通信框架序言 Networkcomms网络通信框架来自于英国,支持以xamarin.ios的方式开发苹果应用程序 其开源版本2.3.1中带有一个示例程序,实现聊天功能,只要 ...
- 【Xamarin挖墙脚系列:Xamarin.IOS的程序的结构】
原文:[Xamarin挖墙脚系列:Xamarin.IOS的程序的结构] 开始熟悉Xamarin在开发IOS的结构!!!!!!! 先看官方 这个是以一个单页面的程序进行讲述的. 1 程序引用的程序集,核 ...
- Xamarin IOS – hello word
原文:Xamarin IOS – hello word 环境 硬件:Macbook pro Retina 13 系统:10.11.3 EI Capitan Xcode:7.0 Ps:配置刚刚够用. 安 ...
随机推荐
- Redis总结笔记(一):安装和常用命令
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/112.html?1455860824 一.redis简单介绍 redis是 ...
- Fiddler (六) 最常用的快捷键
使用QuickExec Fiddler2成了网页调试必备的工具,抓包看数据.Fiddler2自带命令行控制,并提供以下用法. Fiddler的快捷命令框让你快速的输入脚本命令. 键盘快捷键 按ALT+ ...
- [Spring框架]Spring JDBCTmplate基础入门总结.
前言:前面有讲过 Spring IOC以及AOP的基本使用方法, 这里就再来讲下Spring JDBCTemplate的使用方法. 一, 概述这里先说一下Spring 整合的一些模板: 从上图中可以看 ...
- 发现一个百度的密码。。。记最近一段时间的php感想
请看图. 突然想看一下百度的cookie. 最近百度一年真是多攒多难,我一直挺百度啊.百度文化就是程序员文化,但是收到中国其他文化的侵蚀,不得不变, 任何人重构系统,都会有大概百分三十左右的性能提升. ...
- fir.im Weekly - 如何写出零 bug 的代码
神兽护体,代码无bug.经常看到代码注释的各种形状,这是一种程序员情怀.那么,如何能写出零 Bug 的代码呢,来看看@码农翻身 的这篇手册--零Bug的代码是怎么炼成的. 写零 Bug 一定少不了代码 ...
- fir.im Weekly - 这是一份强大的 SwiftGuide
大新闻!Apple 10 亿美元融资滴滴!库克大叔对中国 iOS 开发者表达了高度认可,同时也传出 iOS 10 将内置滴滴 App 的消息.想像下,某个加班的深夜飙完代码,最性感的事情莫过于:「Si ...
- 更新日志 - BugHD iOS 客户端上线
中秋.十一长假归来,"满血复活"的我们做了 fir.im 和 BugHD 的优化更新:) BugHD 新增功能 1.iOS 客户端上线 BugHD iOS 客户端上线了,你可以随时 ...
- iOS-数据持久化基础-JSON与XML数据解析
解析的基本概念 所谓“解析”:从事先规定好的格式串中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据.数据获取方按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 一.X ...
- transform:rotate()将元素进行不同角度的旋转
通过设置transform:rotate()可以将元素进行不同角度的旋转: 下面是一些测试代码: <!DOCTYPE html> <html> <head> < ...
- javascript_core_04之数组API
1.数组API——splice: ①删除:var deletes=arr.splice(starti,n):删除starti位置开始的n个,返回删除元素组成的临时数组: ②插入:arr.splice( ...