Xamarin.ios 相当于钛合金的单触式触摸屏';s backgroundLeftCap,backgroundTopCap用于按钮、视图?

Xamarin.ios 相当于钛合金的单触式触摸屏';s backgroundLeftCap,backgroundTopCap用于按钮、视图?,xamarin.ios,titanium,Xamarin.ios,Titanium,在Appcelerator的Tianium中,如果使用Ti.UI.button(或任何视图)创建按钮对象,则具有以下两个属性 背景左帽 背景顶帽 这允许您设置图像外边缘的像素数,使其保持静止,同时图像内部的其余部分被“拉伸”以填充按钮/视图的背景 Xamarin的MonoTouch中有没有一种等效的方法可以实现这一点?iOS的UIImage支持调整大小 加载您的图像: var image = UIImage.FromFile ("foo.png"); 拉伸它: var resizabl

在Appcelerator的Tianium中,如果使用Ti.UI.button(或任何视图)创建按钮对象,则具有以下两个属性

  • 背景左帽
  • 背景顶帽
这允许您设置图像外边缘的像素数,使其保持静止,同时图像内部的其余部分被“拉伸”以填充按钮/视图的背景


Xamarin的MonoTouch中有没有一种等效的方法可以实现这一点?

iOS的UIImage支持调整大小

加载您的图像:

 var image = UIImage.FromFile ("foo.png");
拉伸它:

 var resizableImage = image.CreateResizableImage (new UIEdgeInsets (top, left, bottom, right));
您可以在使用UIImage的任何位置使用生成的图像,并且上/左/下/右所描述的区域将调整大小,而所描述的角将保持原样,边将拉伸

在某些版本的iOS中,上述操作会因某些参数而崩溃(请参阅),因此您可以改用:

 var resizableImage = image.StretchableImage (leftCap, topCap);

它们的优点是,为调整大小而创建的图像实际上是由GPU调整大小的,因此它们的成本很低

当你问一个关于MonoTouch的问题,Mono的创始人回答了这个问题,你就接受了它。我尝试了CreateResizeableImage方法,但在设备上发生了故障(模拟器工作正常),所以我想我会尝试另一种方法(image.streechableImage),但我得到了一个“对象引用未设置为对象的实例”这是错误的。有什么想法吗?