1
我正在使用Xamarin开发iPhone应用程序。如何平铺图像
我有一个1x2像素图像,我想垂直平铺以在xib
中形成虚线,但我没有看到任何简单的方法来完成此操作。 Xcode没有用于平铺的内容模式,尽管Xamarin中的UIImage类具有ResizingMode属性,但它是只读的!
有没有一种理智的方式来完成这项工作?
我正在使用Xamarin开发iPhone应用程序。如何平铺图像
我有一个1x2像素图像,我想垂直平铺以在xib
中形成虚线,但我没有看到任何简单的方法来完成此操作。 Xcode没有用于平铺的内容模式,尽管Xamarin中的UIImage类具有ResizingMode属性,但它是只读的!
有没有一种理智的方式来完成这项工作?
如何:
UIView tiledView = new UIView();
UIImage image = UIImage.FromFile("your_image.png");
tiledView.BackgroundColor = UIColor.FromPatternImage(image);
在UITableViewCell的,因为它是由UITableView的重写backgroundColor属性是不可用的。我所做的一个解决方法是:
private UIView background;
public override void AwakeFromnib() {
base.AwakeFromNib();
this.background = new UIView();
this.background.BackgroundColor = UIColor.Blue;
this.AddSubview(this.background);
}
public override void LayoutSubviews() {
base.LayoutSubviews();
this.background.Frame = this.Bounds;
}
只需更改BackgroundColor所需的东西即可。
嗯...这不适合我。对于一些额外的上下文,我的类是从UITableCell派生的,所以我不确定放置上述代码的适当位置。我试图把它放在构造函数中,但那给了我空引用异常。所以我尝试将它添加到'Create'方法中,但这似乎也不起作用。对于UITableCell,似乎没有相当于'DidAppear'或'DidLoad'。 –
当视图从Storyboard实例化时,您必须使用AwakeFromNib()方法。当视图被实例化并准备使用时,该方法被调用。请注意,在UITableViewCell上,您不能在单元格上使用背景颜色。请参阅编辑后的帖子,了解该类视图的解决方案。 – rFlex