1

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

  • 背景左帽
  • 背景顶盖

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

在 Xamarin 的 MonoTouch 中是否有等效的方法来做到这一点?

4

1 回答 1

2

iOS 的 UIImage 支持调整大小。

加载您的图像:

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

拉伸它:

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

您可以在任何需要 UIImage 的地方使用生成的图像,并且由 top/left/bottom/right 描述的区域将被调整大小,而所描述的角将保持原样,而侧面将被拉伸。

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

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

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

于 2013-01-12T17:07:31.577 回答