ipad vs iphone различия в раскадровке и переходах - PullRequest
1 голос
/ 24 января 2012

Это мой первый iPad / Storyboard / SplitViewController, в котором в качестве главной таблицы используется таблица, и каждая строка представляет собой отдельный документ для подробного представления.Я начинаю с шаблона Xcode 4.2.

Я получил половину iPhone для работы.Я подключился к sege из tableviewcell и получил вызов:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

И с этим я могу правильно вывести подробный вид.

На раскадровке iPad я не получаюПриготовление к вызову.Я попытался создать переход между masterviewcontroller, а затем попробовал элементы управления tableviewcell, но не могу заставить его вызвать мой prepareforsegue.

Я также попытался:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [self performSegueWithIdentifier:@"segueDetailIpad" sender:nil]; 
}

Это вызовет мой Segue, но у tableview нет установленного indexPath.(Он установлен на iPhone, хотя).

Кроме того, когда я переключаюсь на версию iPhone, он хочет вызвать тот же самый executeseguewithidentifier (как выше), но затем я должен переключаться между различными @ "segueDetailIpad"параметры.

Мне кажется, что я смешиваю "старые" и "новые" модели, и мне нужно найти способ заставить iPad использовать переход, а не полагаться на didSelectRowAtIndexPath.

Надеюсь, этодостаточно для некоторых предложений; -)

thx!

1 Ответ

0 голосов
/ 04 марта 2012

Так же, как пользователь589310 сказал, что я смог решить мою подобную проблему, вставив [segue destinationViewController] в UINavigationController.

Например:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue destinationViewController] class] == [UINavigationController class])
    {
        [[[[segue destinationViewController] viewControllers] objectAtIndex:0] setDelegate:self];
    }
    else
        [[segue destinationViewController] setDelegate:self];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...