UISplitView отображать различные виды в области сведений - PullRequest
1 голос
/ 13 мая 2010

Как я могу изменить представление в области сведений UISplitView, чтобы оно было совершенно другим?

У меня немало проблем с пониманием того, как все это устроено и куда все должно идти в данный момент, может кто-нибудь, пожалуйста, просветите меня?

Что бы мне хотелось сделать, это показать конкретное представление на основе того, что пользователь выбрал в UITableView на левой панели (это может быть изображение или более сложное представление новостной статьи, и т.д. ... много разных вариантов) затем, когда пользователь превращает iPad в портретное представление, это представление, которое находилось в области сведений, изменяется на его эквивалентную версию портретного просмотра.

Имеет ли это смысл?

Как, черт возьми, я это сделал?

Просто для мозгового штурма, вот что я думал:

  • Создание проекта Split View

Создать 2 NIB для каждого представления: (с сопровождающими контроллерами представления ???)

  • PortraitNewsStory
  • LandscapeNewsStory
  • PortraitImageBrowser
  • LandscapeImageBrowser
  • и т.д ...

  • Создание элемента управления UISplitView с использованием XCode

  • Захват, когда пользователь поворачивает iPad (это должно быть сделано в RootViewController.m?)

  • Изменить view из DetailViewController Как мне это сделать?

  • прибыль ???

Спасибо Mark

Ответы [ 2 ]

1 голос
/ 02 февраля 2011

вы можете создать разделенное представление программно и добавить контроллер представления в массиве viewcontroller представления UISplit Таким образом, возможно изменение контроллера вида в режиме разделения.

self.splitViewController =[[UISplitViewController alloc]init];
    self.rootViewController=[[RootViewController alloc]init];
    self.detailViewController=[[FirstDetailViewController alloc]init];


UINavigationController *rootNav=[[UINavigationController alloc]initWithRootViewController:rootViewController];
UINavigationController *detailNav=[[UINavigationController alloc]initWithRootViewController:detailViewController];

self.splitViewController.viewControllers=[NSArray arrayWithObjects:rootNav,detailNav,nil];
self.splitViewController.delegate=self.detailViewController;

и поменять вид контроллера Вы должны установить ViewControllers на UISplitView

пример вы можете посмотреть здесь http://kshitizghimire.com.np/uisplitviewcontroller-multipledetailviews-with-navigation-controller/

0 голосов
/ 04 сентября 2010

Изменить вид DetailViewController как я должен делать это? * * 1002

В Simple вы можете создать другой UIViewController (например, MyCostomViewController) с соответствующим файлом пера. Затем сделайте следующее внутри метода под rootViewController

- (void)tableView:(UITableView *)aTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    /*
     When a row is selected, set the detail view controller's detail item to the item associated with the selected row.
     */
    //detailViewController.detailItem = [NSString stringWithFormat:@"Row %d", indexPath.row];
    MyCostomViewController *cus = [[MyCostomViewController alloc] initWithNibName:@"MyCostomViewController" bundle:nil];
    [detailViewController.view addSubview:cus.view];

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...