0

Я знаю, что у него уже есть информация об этом в интернете, но я новичок в программировании и немного запутался, мне мало нужна помощь ... например, у меня есть 10 контроллеров представлений и переключение между ними с помощью кнопок, например, i переключение сКак правильно переключить вид?

-(IBAction)goToSecondView:(id)sender { 

SecondViewController *secondView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil]; 
[self presentModalViewController:secondView animated:NO]; 
[secondView release]; 
    } 
    /* or */ 


-(IBAction)goToSecondView:(id)sender { 

SecondViewController *secondView = [[SecondViewController alloc] 
initWithNibName:@"SecondViewController" bundle:nil]; [self.view addSubview:secondView.view]; 
[secondView release]; 
} 

и после того, как необходимость, если я переключиться, чтобы удалить первый взгляд с этим:

[self.view removeFromSuperview]; /* or */ [self dismissModalViewControllerAnimated:YES]; 

и я не знаю, как сделать удалить первый взгляд, когда я переключение на второй, например, когда перейти от FirstView до SecondVi РЭБ вторая точка зрения, необходимо удалить FirstView и после того, как от SecondView перейти к ThridView или SevenView пример и нужно удалить SecondView ... как я могу это сделать «Можете ли вы сделать образец кода, пожалуйста? я знаю, что это очень легко, но не для меня, я новичок в программировании

-------------------- update ----------- -------------------------------------------------- ----

Я хочу сделать что-то вроде>here <, но я не понимаю все, может ли кто-нибудь сделать образец кода, пожалуйста ?.

Большое спасибо

ответ

0

Какой из этих методов, которые Вы используете (или, если вы должны использовать другой) точно зависит от того, что вы пытаетесь достичь.

Если бы был один вид, в котором перечислены все остальные, и все, что вы хотели сделать, - это идти вперед и назад между первым видом и другим, тогда метод presentModalViewController: otherView будет в порядке. Если вы добавляете другие представления в качестве подзапроса первых и полностью закрываете его, это не лучший способ сделать что-то. Вы должны добавить другое представление в качестве подвид окна (или другого представления родительского представления), а затем удалить это представление из окна/родительского представления, используя [theView removeFromSuperview];

Если у вас есть иерархическая структура, то есть вы можете пройти несколько слоев в глубину, от первого взгляда до второго, от третьего до третьего, тогда вы должны посмотреть на использование UINavigationController. Каждый раз, когда вы хотите показать новое представление, вы нажимаете его на стек UINavigationController, чтобы вернуться на уровень, который вы выталкиваете (если вы используете навигационную панель по умолчанию с задней кнопкой, за которой вас позаботятся). В этой ситуации вам не нужно иметь дело с удалением невидимых просмотров и воссозданием их, когда это необходимо, и все, о чем заботится UINavigationController.

+0

я Ван сделать что-то подобное, но я не знаю, как сделать это правильно SecondViewController * secondView = [[SecondViewController Alloc] initWithNibName: @ "SecondViewController" пачка: ноль]; [self presentModalViewController: secondView animated: NO]; [FirstViewController rejectModalViewControllerAnimated: YES]; // увольнение текущего представления при переходе на другой – Sania

+0

увольняют текущее представление при переходе на другой, например, сначала я перехожу из FirstView в SecondView после перехода из SecondView в FiveView и снова в SecondView, и я не знаю, как сделать он отклоняет текущее представление при переключении на другой. – Sania

+0

Если вы это делаете, то вам не нужно отклонять представление самостоятельно, os позаботится о том, чтобы невидимые виды не теряли больше чем им нужно. – mbehan

0

Помните также, что вы не всегда должны «удалять» виды. Вместо этого вы можете скрыть их.

[self.view setHidden: ДА]

Это будет просто сделать их не нарисован. Это удобно, потому что removeFromSuperview фактически освободит представление из памяти, если оно не будет сохранено, то есть вы никогда не получите его обратно.

Смежные вопросы