Можно ли выбрать строку в previous UITableview. Я представил образцы изображений, чтобы получить более четкое представление о том, что происходит точно.Можно ли выбрать строку в ** предыдущем ** UITableview
http://img186.imageshack.us/img186/933/picture8a.png
http://img405.imageshack.us/img405/9327/picture9d.png
http://img200.imageshack.us/img200/5386/picture10thm.png
На экране утром тренировки, можно выбрать строку и позади нее, так что будет играть в кино. Если вы играете в кино, вы можете нажать вторую кнопку, и она вернет вас к финальному столу. Если вы нажмете кнопку, вы просто вернетесь к предыдущему экрану.
Теперь вот где моя проблема. Если я нахожусь на своем последнем экране после нажатия второй кнопки, и я нажимаю на подставку, было бы здорово, если бы она могла воспроизводить предыдущее видео (другими словами, видео, подключенное к ранее выбранной ячейке)
Так что если это возможно для меня создать функцию или какое-то действие, которое может фактически выбрать ранее выбранную строку из первого поля (например, Lunge Forward в этом примере). , возможно, с некоторыми, как
previousRow = [ self.tableView indexPathForSelectedRow];
[self tableView:[self tableView] didSelectRowAtIndexPath:previousRow];
просто делать что-то там
Даже если это не возможно, я был бы признателен, если бы кто-то дайте мне знать.
редактировать: Вот код позади ячейки, когда он собирается воспроизвести видео
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
//Get the dictionary of the selected data source.
NSDictionary *dictionary = [self.tableDataSource objectAtIndex:indexPath.row];
//check to see if video must be played
NSString *playVids = [dictionary objectForKey:@"playVids"];
finalscreen = [dictionary objectForKey:@"finalScreen"];
if(playVids == nil)
{
if(CurrentLevel != 0)
{
if(finalscreen == nil)
{
NSString *movies = [dictionary objectForKey:@"movieID"];
NSURL *movie = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:movies ofType:@"m4v"]];
theMovie = [[MPMoviePlayerController alloc] initWithContentURL:movie];
[theMovie setOrientation:UIDeviceOrientationPortrait animated:NO];
[theMovie setScalingMode:MPMovieScalingModeAspectFit];
theMovie.backgroundColor = [ UIColor whiteColor];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(myMovieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:theMovie];
[theMovie play];
[self getToolBarStuff];
lblTitle.text = [dictionary objectForKey:@"Title"];
[[[UIApplication sharedApplication]keyWindow]addSubview:toolbar2];
[[[UIApplication sharedApplication]keyWindow]addSubview:imageView];
[[UIApplication sharedApplication]keyWindow]addSubview:lblTitle];
}
}
else
{
WebViewController *web = [[WebViewController alloc] initWithNibName:@"WebView" bundle:[NSBundle mainBundle]];
[self.navigationController pushViewController:web animated:YES];
[web release];
}
}
else {
//Prepare to tableview.
rvController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:[NSBundle mainBundle]];
//Increment the Current View
rvController.CurrentLevel += 1;
//Set the title;
rvController.CurrentTitle = [dictionary objectForKey:@"Title"];
//Push the new table view on the stack
[self.navigationController pushViewController:rvController animated:YES];
rvController.tableDataSource = Children;
[rvController release];
}
}
Я получаю мои данные/каналы из dictionaryfile, а также различные теги в моем словаре сказать мой TableView когда для воспроизведения видео, а когда нет (playVids).
, так что у меня есть начальный экран, который выводит вас на второй экран, и это приводит вас к утреннему экрану тренировки и оттуда, если вы щелкнете по ячейке, он будет воспроизводить видео (отличное от каждой ячейки). Я не могу использовать стандартный дизайн из яблока (с надписью выше), поскольку это задание специально предназначено для использования своей собственной конструкции. Вот почему я создал свою собственную панель и подкладку.
Мой BackButton выглядит следующим образом
-(void)back_clicked:(id)sender
{
[self.navigationController popViewControllerAnimated:YES];
CurrentLevel--;
switch(CurrentLevel) {
case 0;
[toolbar removeFromSuperView];
default:
break;
}
}
Так что, если я нахожусь в последнем экране я просто поп, что экран, чтобы вернуться к моей предыдущей (утром тренировки). И что на самом деле нужно сделать, это поп-экран и воспроизведение последнего видео. Я думал, что смогу сделать это, вытащив последний экран, а затем выбрав ячейку с предварительно нажатой ячейкой в утренней тренировке.
Любые мысли об этом.
Большое спасибо за Ваш ответ. На самом деле у меня есть более одного контроллера. Однако здесь они не применяются. Я использую подобранный вид, похожий на этот. http://www.iphonesdkarticles.com/2009/03/drill-down-table-view-with-detail-view.html. Итак, я использую один контроллер для управления табличными представлениями. И есть также другой контроллер для моего оверлейного просмотра с видео (название и узел). Я собираюсь изменить свой вопрос и добавить код, чтобы быть более точным. Потому что в этом комментарии боль читается, я полагаю;). – 2009-08-13 12:15:32