MonoTouch相当于Titanium的backgroundLeftCap,backgroundTopCap用于按钮,视图?

时间:2013-01-11 20:19:02

标签: xamarin.ios titanium

在Appcelerator的Titanium中,如果使用Ti.UI.Button(或任何视图)创建按钮对象,则可以使用这两个属性

  • backgroundLeftCap
  • backgroundTopCap

允许您设置图像外边缘的像素数保持静态,而图像内部的其余部分被“拉伸”以填充按钮/视图的背景。

在Xamarin的MonoTouch中有没有相同的方法呢?

1 个答案:

答案 0 :(得分:2)

iOS的UIImage支持调整大小。

加载您的图片:

 var image = UIImage.FromFile ("foo.png");

拉伸它:

 var resizableImage = image.CreateResizableImage (new UIEdgeInsets (top, left, bottom, right));

您可以在任何采用UIImage的地方使用生成的图像,并且将调整上/左/下/右所描述的区域的大小,同时描述的角将保持原样并且侧面伸展。

在iOS的某些版本中,上述内容会因某些参数而崩溃(请参阅http://openradar.appspot.com/11411000),因此您可以使用:

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

对他们来说很好的是,为调整大小而创建的图像实际上是由GPU调整大小的,因此它们的成本很低。