在C#與部分靜態的UITableViewController你可以使用:
using System;
using Foundation;
using UIKit;
using CoreGraphics;
using CoreAnimation;
namespace MyNamespace
{
public class CustomTableViewController : UITableViewController
{
public override void ViewDidLoad()
{
base.ViewDidLoad();
SetGradientBackgound();
}
private void SetGradientBackgound()
{
CGColor[] colors = new CGColor[] {
UIColor.Purple.CGColor,
UIColor.Red.CGColor,
};
CAGradientLayer gradientLayer = new CAGradientLayer();
gradientLayer.Frame = this.View.Bounds;
gradientLayer.Colors = colors;
gradientLayer.StartPoint = new CGPoint(0.0, 0.0);
gradientLayer.EndPoint = new CGPoint(1.0, 1.0);
UIView bgView = new UIView()
{
Frame = this.View.Frame
};
bgView.Layer.InsertSublayer(gradientLayer, 0);
UITableView view = (UITableView)this.View;
view.BackgroundColor = UIColor.Clear;
view.BackgroundView = bgView;
}
// Setting cells background transparent
public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
{
var cell = base.GetCell(tableView, indexPath);
cell.BackgroundColor = UIColor.Clear;
return cell;
}
// Setting sections background transparent
public override void WillDisplayHeaderView(UITableView tableView, UIView headerView, nint section)
{
if (headerView.GetType() == typeof(UITableViewHeaderFooterView))
{
UITableViewHeaderFooterView hView = (UITableViewHeaderFooterView)headerView;
hView.ContentView.BackgroundColor = UIColor.Clear;
hView.BackgroundView.BackgroundColor = UIColor.Clear;
}
}
}
}
結果可能是這樣的:
來源
2018-01-23 05:07:06
gts
爲什麼只有.png for iOS? – 2010-08-19 15:33:15
我應該澄清 - 使用PNG處理所有不是照片的東西。 PNG由iOS設備上的GPU進行硬件加速,因此您的所有UI圖像均應採用PNG格式。 PNG支持alpha透明度,這對於大量的UI圖形來說是必需的。對於任何照片,JPEG壓縮會給你更小的文件大小,所以這可能是一個好處。 – 2010-08-20 03:51:10
雖然這個表設置爲分組樣式時每個組的背景,但有沒有辦法解決這個問題? – 2011-05-30 10:40:57