Я думаю лучшее, которое Вы собираетесь быть способными сделать, что-то вроде этого:
static void Main(string[] args)
{
int i = 1;
var thelist = CreateList(i);
}
public static List<T> CreateList<T>(T t)
{
return new List<T>();
}
Я думаю, вы просто хотите установить цвет BG вашей ячейки на белый, а цвет BG таблицы сделать другим (серым) цветом. Не уверен, что у вас получится сделать это с прозрачными ячейками.
You should look into using the tableHeaderView
and tableFooterView
properties of the UITableView
.
Предоставлено Эрикой Садун:
- (void) scrollViewDidScroll: (UIScrollView *) sv
{
float percent = sv.contentOffset.y / sv.contentSize.height;
percent = 0.5 + (MAX(MIN(1.0f, percent), 0.0f) / 2.0f);
sv.backgroundColor = [UIColor colorWithRed:percent * 0.20392
green:percent * 0.19607
blue:percent * 0.61176 alpha: 1.0f];
}
, а затем измененная версия, которую я использую:
- (void)scrollViewDidScroll:(UIScrollView *)sv
{
UIColor *backgroundColor = nil;
float percent = sv.contentOffset.y / sv.contentSize.height;
percent = 0.5 + (MAX(MIN(1.0f, percent), 0.0f) / 2.0f);
if (0.5f == percent)
{
backgroundColor = RGBCOLOR(233.0f, 235.0f, 237.0f);
}
else
{
CGFloat r = 233.0f * (1.0f - percent) + 255.0f * percent;
CGFloat g = 235.0f * (1.0f - percent) + 255.0f * percent;
CGFloat b = 237.0f * (1.0f - percent) + 255.0f * percent;
backgroundColor = RGBCOLOR(r,g,b);
}
sv.backgroundColor = backgroundColor;
}
Установите для tableFooterView представление с нулевой высотой и шириной, которое выводится за пределы своих границ. Самый простой способ - добавить к нему большое subview:
self.tableView.tableFooterView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
UIView *bigFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 1000)];
bigFooterView.backgroundColor = [UIColor whiteColor];
bigFooterView.opaque = YES;
[self.tableView.tableFooterView addSubview:bigFooterView];
[bigFooterView release];
отрегулируйте [UIColor whiteColor] и ширину вашего bigFooterView соответственно (если ваш tableView может быть горизонтальным, вы захотите, чтобы он был шире 320). Таким образом, вверху вы увидите любой фон вашего представления таблицы, а внизу все, что вы установили для фона этого представления.
Возможно, это не лучшая практика, но если вы действительно хотите сделать это, как Apple, есть частное свойство UITableView
, называемое tableHeaderBackgroundColor
. Серый цвет - # e2e7ed
.
Вы можете поместить что-то вроде этого в метод -viewDidLoad
UITableViewController
:
UIColor *grayishColor = [UIColor colorWithRed:226/255.0
green:231/255.0
blue:237/255.0 alpha:1.0];
[self.tableView setValue:grayishColor forKey:@"tableHeaderBackgroundColor"];
Есть хорошие ответы на Светло-серый фон в "области отскока"...
Где я нашел эту кодовую монету (немного измененную), которая отлично работает:
CGRect frame = self.tableView.bounds;
frame.origin.y = -frame.size.height;
UIView* grayView = [[UIView alloc] initWithFrame:frame];
grayView.backgroundColor = [UIColor grayColor];
[self.tableView addSubview:grayView];
[grayView release];
Swift:
var frame = self.tableView.bounds
frame.origin.y = -frame.size.height
let grayView = UIView(frame: frame)
grayView.backgroundColor = .gray
self.tableView.addSubview(grayView)