Monotouch 移动位于键盘下的内容,自动滚动被键盘遮住的内容
摘要:IOS官方的Object-C有例子,但是OC的代码。Moving Content That Is Located Under the Keyboard 效果如下图: 实现方法: 1.定义一个所有ViewControl的基类,命名为ViewControllerBase,ViewControl继承ViewControllerBase 代码如下: 1: public class ViewControllerBase : UIViewController 2: { 3: NSObject _keyboardObserverWillShow; 4: NSObje...
阅读全文
RESTful Web Services,客户端Silverlight提交POST数据报错
摘要:Silverlight表面返回的错误是:“远程服务没发现”很不友好。同事说是我写的POST的组件有问题,问我是不是限制了POST数据大小了,小数据POST不出错,大数据POST就出错。 开始还真以为是自己写的代码有问题,查啊。。。。。。被误导了。没去找错误的本质。 排错过程: 由于Silverlight是客户端程序,POST数据又是异步的,首先使用Fiddler2进行请求跟踪。 数据量确实挺...
阅读全文
Monotouch Copy item from album(从相册拷贝文件出来)
摘要:项目中需要采集视频、照片、录音,并上传到服务器,这就需要读取这些文件流,照片和录音都很容易搞定。 视频有些麻烦,因为录制的视频被存到相册内,之后在FinishedPickingMedia里面不像照片可以通过下面代码直接得到 UIImage image = (UIImage)info.ObjectForKey(new NSString("UIImagePickerControllerOriginalImage")); 所以想到要不就直接去读取相册的文件,在模拟器内测试成功。 1: public override void FinishedPickingMedia(UIImag
阅读全文
Monotouch Save Image To Application(保存相册图片到你的应用程序)
摘要:直接贴代码了 1: public override void FinishedPickingMedia(UIImagePickerController picker, NSDictionary info) 2: { 3: //使用下面方式保存图片到你的应用程序中 4: UIImage image = (UIImage)info.ObjectForKey(new NSString("UIImagePickerControllerOriginalImage")); 5: NSData imageData = image.AsJPEG(); 6:...
阅读全文
Monotouch中使用UINavigationController
摘要:1.使用MonoDevelop创建一个Window-based project 2.右键点击解决方案,Add | New File… | iPhone View with Controller,命名为FirstViewController 3.增加另外一个iPhone View with Controller,命名为SecondViewController 4.到目前为止我们有两个空的视图(控制器),我们可以在我们的iPhone应用程序中显示这2个视图。默认情况下,它们将不会显示,所以我们需要应用程序增加一个UINavigationController对象,它用来显示和隐藏这些视图。 管理一个
阅读全文
Monotouch 项目选择Storyborads还是XIBs
摘要:Storyboards是在小或中型屏幕的项目中,并且View之间的导航关系简单并且直接,那么它是一个不错的选择。如果你有大量的View而且之间的导航非常错中复杂,那么Storyboard视图之间会变得很混乱,要保持清晰需要做大量工作。如果项目有多个开发人员,我们最好不要使用Storyboards,因为你只有一个单独的UI文件,很难达到容易的协作关系。是否可能把一个大的应用切分到多个Storyboard文件中?我还没找到解决方案。在Storyboard项目中也可以使用XIBs,可以使用XIBs来定义Table cells.作者:Bruce Lee出处:http://www.cnblogs.com
阅读全文
Montouch 定义一个定制的 View Control类
摘要:定制的视图控制器是UIViewController的子类,它是用来展现你的应用程序的内容的。 可以在Monodevelop项目模板中增加一个View Controller类,然后修改成自己需要的。增加了一个View Controller类会缺省增加一个xib的View文件。如果是stroyboard项目是在stroyboard中增加一个View Controller,并且可以重命名。 给View Control创建一个视图 为视图控制器创建视图时视图控制器的主要工作是根据需要加载和卸载了自己的视图。 大多数视图控制器从xib关联文件加载他们的视图。 使用xib文件的优点是,它们允许您以可视化的
阅读全文
Monotouch 视图管理周期
摘要:在视图控制器对象,相应的视图中出现两个明显的周期管理:加载和卸载周期。 每当应用程序的某些部分要求查看控制器的视图对象的指针时,并且该对象在内存中当前没有,加载周期发生。视图控制器加载视图到内存并将其存储为指针,以供将来引用。 如果您的应用程序在将来的某个时刻接收内存不足警告,视图控制器可能随后尝试卸载该视图。 在卸载周期,视图控制器尝试释放自己的视图对象并且视图控制器返回到其初始不可见状态。 如果它能够释放视图,视图控制器就没有一个残留的视图对象,直到再次请求,此时加载周期的再次开始。在加载和卸载周期期间,大部分加载和卸载工作是由视图控制器完成。 但是,如果您的视图控制器类存储了一些视图层.
阅读全文
Montouch多视图的创建与销毁
摘要:释放一个引用了另外一个视图的方法,步骤如下。 1) UIViewController A是主视图控制器; B是子视图控制器. 2) A创建了B的实例并且存储B的引用. 3) A增加B的视图为A的子视图. 一切都是正常的,可以看到B正确的显示在A的视图里. 4) A移除B视图.B的视图在代码中不存在任何的引用. 5)调用DidReceiveMemoryWarning (通过模拟或手动调用). 3.0以后不这样做,不需要重载这个函数,把释放内存的代码放到viewDidUnload中去。 这个函数的默认实现是:检查controller是否可以安全地释放它的view(这里加粗的view指的是cont.
阅读全文
Monotouch 常用例子代码
摘要:程序如何做日志 1: var myString = "MyString"; 2: var myFloat = 4.56f; 3: var myInt = 5; 4: Console.WriteLine(String.Format("log: {0}", myString)); 5: Console.WriteLine(String.Format("log: {0}", myFloat)); 6: Console.WriteLine(String.Format("log: {0}", myInt));这些状态说明会显
阅读全文
Monotouch在IPAD与IPhone使用UIImagePickerController的图片选择不同的代码
摘要:UIImagePickerController虽然可以用在IPAD与IPhone,但代码有所不同。 IPhone的代码如下: 1: partial void SelectImage(NSObject sender, MonoTouch.UIKit.UIEvent @event) { 2: UIImagePickerController picker = new UIImagePickerController (); 3: picker.ModalPresentationStyle = UIModalPresentation...
阅读全文
Montouch 增加图片到模拟器(Simulator)的相册中
摘要:由于要开发视频和图片的功能,模拟器的相册中 3个步骤。 1.打开模拟器的浏览器。拖动我们的图片到模拟器中。或用浏览器访问有图片的网站. 2.在浏览器中长按住图片。 3.保存图片。图片就进入到模拟器中了。 实际的路径~/Library/Application Support/iPhone Simulator/3.1.3/Media/DCIM/100APPLE也可以自己手工拷进去。如果没有DCIM/100APPLE要自己手工建,然后关掉模拟器,删除Media\PhotoData,再打开模拟器,让模拟器为图片和视频从新建立索引,这种对测试音频和视频代码很方便。作者:Bruce Lee出处:http:
阅读全文
Monotouch Table View 里面动态增加Table View Cell Switch 触发Switch事件 程序崩溃
摘要:原始代码 [Export("tableView:cellForRowAtIndexPath:")]public UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath){ var cell=new UITableViewCell(); cell=tableView.DequeueReusableCell("MyCell"); if (cell != null) { UISwitch myUISwitch = new UISwitch (); myUISwitch.Valu
阅读全文