0

Я новичок в программировании на iOS.Переключиться на другой вид на раскадровке

То, что я пытаюсь сделать, это:

У меня есть несколько представлений в раскадровке, и я хотел бы, чтобы переключаться между видами программно. Например, когда нажата кнопка, я вызываю метод, и я хочу изменить его здесь (я могу вызвать метод успешно). Кнопки также создаются программно в разных положениях.

Я искал, и я думаю, что это происходит с NavigationController. У меня есть контроллер навигации, который я создал так: menu Editor -> Embed In -> NavigationController. Как я могу это сделать, используя этот NavigationController?

@Madhu и @Dilip, я нашел решение с xib поданного классом

icerik *secondViewController = [[icerik alloc] initWithNibName:@"icerik" bundle:nil]; 

    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:secondViewController]; 
    navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent; 
    navigationController.topViewController.title = @"SecondViewController"; 

    //[self presentModalViewController:navigationController animated:YES]; 

    if([self respondsToSelector:@selector(presentViewController:animated:completion:)]) 
     [self presentViewController:navigationController animated:YES completion:^{/* done */}]; 
    else if([self respondsToSelector:@selector(presentViewController:animated:)]) 
     [self presentModalViewController:navigationController animated:YES]; 

У меня есть класс с XIB файл с именем icerik, я решил это так. Это открытие, но когда я хочу вернуться, что я могу сделать?

+1

Вы хотите, чтобы при щелчке пользователем btn он перешел из текущего диспетчера представлений в другой диспетчер представлений, верно? – Dilip

+0

Да, и я хочу изменить оба viewcontrollers с помощью раскадровки. – ozmuhammed

ответ

0

Вы можете создать БТН, используя этот код:

UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
[button addTarget:self action:@selector(aMethod) forControlEvents:UIControlEventTouchDown]; 
[button setTitle:@"Show View" forState:UIControlStateNormal]; 
button.frame = CGRectMake(80.0, 210.0, 160.0, 40.0); 
[self.view addSubview:button]; 

и переходя к другому использованию В.- этот код, если вы хотите панель навигации:

-(void)aMethod 
{ 
SecondViewController *secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil]; 

    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:SecondViewController]; 
    navigationController.navigationBar.barStyle = UIBarStyleBlackTranslucent; 
    navigationController.topViewController.title = @"SecondViewController"; 

    [self presentModalViewController:navigationController    animated:YES]; 
} 

Else использовать этот код:

-(void)aMethod 
{ 
SecondViewController *secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil]; 

    [self presentModalViewController:secondViewController   animated:YES]; 
} 

И вернуться к Фристу В.- Фромм второму ОМУ добавить этот код во втором ОГО.

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(backAction:)]; 
    self.navigationItem.leftBarButtonItem = closeButton; 
} 
- (void)backAction:(id)sender { 
    [self dismissModalViewControllerAnimated:NO]; 
} 
+0

Я изменил вопрос, не могли бы вы снова посмотреть на него :) – ozmuhammed

+0

@ozmuhammed Теперь я отредактировал свой ответ. – Dilip

+0

Большое вам спасибо, хорошо сработал – ozmuhammed

0

Если ваш новый для Objective-c сначала идет с Views/ViewControllers. т.е. использовать addSubView свойство UIView

UIView *subView = [[UIView alloc] initWithFrame:CGRectMake(10, 0, 250.0, kCCCellHeaderHeight)]; 
[subView setBackgroundColor:[UIColor redcolor]]; 
[self.view addSubview:subView]; 

Если мало известно о UINavigationCOntroller Использование pushViewController

CCFilteredVideosController *filteredController = [[CCFilteredVideosController alloc] initWithNibName:@"CCFilteredVideosController" bundle:nil]; 
[self.navigationController pushViewController:filteredController animated:YES]; 
[filteredController release]; 
+0

Я изменил вопрос, не могли бы вы снова взглянуть на него. :) – ozmuhammed

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