Мне нужно разработать IPad TV Guide , который выглядит
Что по телевизору .
Я попытался сделать это, используя UITableView со многими строками в качестве количества каналов. Для того, чтобы создать вид сетки, я добавил подпредставление для каждой строки, содержащей все программы (UIButton с разным размером). Чтобы прокрутить вид по горизонтали, я добавил распознаватель жестов и меняю положение UIView (ячейка подвид) каждый раз, когда проводишь вправо или влево.
Это работает, но решение кажется мне немного грязным, и анимация не так реагирует. У вас есть идея (или пример) для лучшего решения? А как насчет HTML5?
Спасибо
Мой код:
в ViewController.m
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
[cell setSelectionStyle:UITableViewCellSelectionStyleNone];
_chName = (UILabel *)[cell viewWithTag:4];
_chName.text=((Channel *)[_resultEPGChannel objectAtIndex:indexPath.row]).name;
_viewCell = (UIView *)[cell viewWithTag:2];
_viewCell.frame=CGRectMake(-_positionView, 0,2000, 77);
//add the view to the _viewCell (moving view) with the right program for each channel (row)
cp = [[ChannelProgram alloc] init] ;
cp.allProgram=[_resultEPGProgram objectAtIndex:indexPath.row];
[_viewCell addSubview:cp];
return cell;}
В ChannelProgram.m (подкласс UIView)
- (void)drawRect:(CGRect)rect{
int xPoint=2;
for (Program *singleProgram in allProgram) {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.backgroundColor=[UIColor lightGrayColor];
[button setTitle:singleProgram.title forState:UIControlStateNormal];
button.frame=CGRectMake(xPoint,0, singleProgram.lengthProgram,75);
[self addSubview:button];
xPoint = xPoint+singleProgram.lengthProgram+2;}
Анимация очень медленная и становится худшей каждый раз, когда мне приходится перезагружать стол. Что не так?