Когда Studio управления делает это, это составляет временную таблицу, копируя все через, отбрасывая Вашу исходную таблицу и переименовывая временную таблицу. Нет никакого простого эквивалентного оператора T-SQL.
, Если Вы не представляете себе делать это, Вы могли бы всегда создавать представление таблицы со столбцами в порядке, Вы хотели бы и использовали бы это?
Редактирование: избитый!
Какая у вас проблема? В drawRect вам дается прямоугольник, и вы знаете свой общий размер - просто соответствуйте этому пространству. То же самое, если вы используете layoutSubviews.
Я тоже заметил эту проблему. Мое обходное решение заключалось в том, чтобы просто уменьшить размер ячеек таблицы (ширина 300 вместо 320). Это не лучшее решение, но оно работает хорошо.
Я не верю, что вы можете избавиться от вставок табличных представлений на индивидуальной основе в "группированном" режиме. Хотя я могу ошибаться!
Раньше у меня было много проблем с подклассами UITableViewCell
, но потом я просто перестал создавать подклассы.
Добавление подпредставлений к свойству contentView
объекта UITableViewCell
, похоже, дает то же самое в любом случае, с которым я сталкивался, поэтому я просто делаю это внутри своего UITableViewController
.
Вот пример с заголовком и значением:
- (UITableViewCell *)tableView:(UITableView*)tableView
cellForRowAtIndexPath: (NSIndexPath*)indexPath
{
static NSString* CellIdentifier = @"AccountDetailsCell";
UILabel* mainLabel = nil;
UILabel* valueLabel = nil;
const CGFloat kAccountDetailFontSize = 14.0;
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier];
if ( cell == nil )
{
cell = [[[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault
reuseIdentifier: CellIdentifier] autorelease];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
mainLabel = [[[UILabel alloc] initWithFrame:CGRectMake( 10.0, 0.0, 150.0, 44.0 )] autorelease];
mainLabel.tag = MAINLABEL_TAG;
mainLabel.font = [UIFont boldSystemFontOfSize: kAccountDetailFontSize];
mainLabel.textAlignment = UITextAlignmentLeft;
mainLabel.textColor = [UIColor darkGrayColor];
mainLabel.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleHeight;
mainLabel.backgroundColor = [UIColor clearColor];
[cell.contentView addSubview: mainLabel];
valueLabel = [[[UILabel alloc] initWithFrame: CGRectMake( 150.0, 0.0, 150.0, 44.0 )] autorelease];
valueLabel.tag = VALUELABEL_TAG;
valueLabel.font = [UIFont boldSystemFontOfSize: kAccountDetailFontSize];
valueLabel.textAlignment = UITextAlignmentRight;
valueLabel.textColor = [UIColor darkTextColor];
valueLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;
valueLabel.backgroundColor = [UIColor clearColor];
[cell.contentView addSubview: valueLabel];
}
else
{
mainLabel = (UILabel*)[cell.contentView viewWithTag: MAINLABEL_TAG];
valueLabel = (UILabel*)[cell.contentView viewWithTag: VALUELABEL_TAG];
}
mainLabel.text = (NSString*)kCellTitles[indexPath.section][indexPath.row];
valueLabel.text = [self tableView: tableView valueLabelTextForRowAtIndexPath: indexPath];
return cell;
}