2013-07-22 130 views
1

我正在使用Xamarin開發iPhone應用程序。如何平鋪圖像

我有一個1x2像素圖像,我想垂直平鋪以在xib中形成虛線,但我沒有看到任何簡單的方法來完成此操作。 Xcode沒有用於平鋪的內容模式,儘管Xamarin中的UIImage類具有ResizingMode屬性,但它是隻讀的!

有沒有一種理智的方式來完成這項工作?

回答

3

如何:

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所需的東西即可。

+0

嗯...這不適合我。對於一些額外的上下文,我的類是從UITableCell派生的,所以我不確定放置上述代碼的適當位置。我試圖把它放在構造函數中,但那給了我空引用異常。所以我嘗試將它添加到'Create'方法中,但這似乎也不起作用。對於UITableCell,似乎沒有相當於'DidAppear'或'DidLoad'。 –

+0

當視圖從Storyboard實例化時,您必須使用AwakeFromNib()方法。當視圖被實例化並準備使用時,該方法被調用。請注意,在UITableViewCell上,您不能在單元格上使用背景顏色。請參閱編輯後的帖子,瞭解該類視圖的解決方案。 – rFlex