У меня есть таблица, в которой примерно 10 ячеек, 4 разных типа. Я подкласс UITextViewCell, потому что я хотел иметь IBOutlet для метки и UITextField. Не уверен, что это лучший способ справиться с этим, но пока он работает. Затем у меня была ячейка для пола, поэтому я решил вместо подкласса UITableViewCell создать свою уже вложенную ячейку с помощью UILabel и UITextField и написал следующий код:
NSArray *buttonNames = [NSArray arrayWithObjects:@"Male", @"Female", nil];
UISegmentedControl* segmentedControl = [[UISegmentedControl alloc] initWithItems:buttonNames];
segmentedControl.momentary = YES;
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth;
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.frame = CGRectMake(75, 5, 130, 30);
[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
for (UIView *oneView in cell.contentView.subviews) {
if ([oneView isMemberOfClass:[UITextField class]]) {
[cell.contentView insertSubview:segmentedControl aboveSubview:oneView];
[oneView removeFromSuperview];
}
}
[segmentedControl release];
Насколько это ужасно? Должен ли я создавать подклассы UITableViewCell 5 раз для одного сложного tableView? Обрабатывает ли это в крайних случаях, таких как следующие ОК?