在 Appcelerator 的 Titanium 中,如果您使用 Ti.UI.Button(或任何视图)创建按钮对象,则具有这两个属性
- 背景左帽
- 背景顶盖
它允许您将图像外边缘的像素数设置为保持静态,而图像内部的其余部分被“拉伸”以填充按钮/视图的背景。
在 Xamarin 的 MonoTouch 中是否有等效的方法来做到这一点?
在 Appcelerator 的 Titanium 中,如果您使用 Ti.UI.Button(或任何视图)创建按钮对象,则具有这两个属性
它允许您将图像外边缘的像素数设置为保持静态,而图像内部的其余部分被“拉伸”以填充按钮/视图的背景。
在 Xamarin 的 MonoTouch 中是否有等效的方法来做到这一点?
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 调整大小的,因此它们的成本很低。