Не показывать UINavigationController в modalView

Я прошу

[self presentModalViewController:searchRegionController animated:YES]; 

после этого я пытаюсь добавить NavigationController с помощью

   self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Add" style:UIBarButtonItemStyleBordered target:self action:@selector(next:)] autorelease];
    self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelAdd:)] autorelease]
    self.navigationItem.titleView =  someView;

person Evgeniy S    schedule 09.02.2012    source источник
comment
Пожалуйста, предоставьте дополнительную информацию о том, что именно вы хотите. Вам нужен навигационный контроллер или панель навигации? и каким методом вы пытаетесь добавить свой navigationController?   -  person Bonnie    schedule 09.02.2012
comment
Панель навигации. Мне просто нужна пользовательская панель навигации в модальном представлении. Если я перейду к просмотру с помощью pushToView... он работает, но presentModalView... его нет;   -  person Evgeniy S    schedule 09.02.2012


Ответы (2)


так что сделайте это в классе searchRegionController

-(void)viewDidLoad
{
     UINavigationBar *naviBarObj = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
[self.view addSubview:naviBarObj];
UIBarButtonItem *rightBarButtonItem =[[[UIBarButtonItem alloc] initWithTitle:@"Add" style:UIBarButtonItemStyleBordered target:self action:@selector(next:)] autorelease];

UIBarButtonItem *leftBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelAdd:)] autorelease];

UINavigationItem *navigItem = [[UINavigationItem alloc] initWithTitle:@"Navigation Title"];
navigItem.rightBarButtonItem = rightBarButtonItem;
navigItem.leftBarButtonItem = leftBarButtonItem;
naviBarObj.items = [NSArray arrayWithObjects: navigItem,nil];
}

надеюсь это поможет.

person Bonnie    schedule 09.02.2012
comment
это потому, что когда вы используете PushToView, вы фактически отправляете представление в NavigationController, поэтому по умолчанию NavigationController виден, но при использовании presentModalView представление не помещается в стек navigationController, оно отображается как независимое представление, поэтому NavigationController из предыдущего вид не отображается. ..ты понял.!! - person Bonnie; 09.02.2012
comment
о, круто. У меня недостаточно репутации, чтобы поставить + вам, но я вам очень благодарен :) - person Evgeniy S; 09.02.2012

Попробуй это:

-(void)someAction
{
ViewController *object = [ViewController]alloc]initWithNibName:@"NibName" bundle:[NSBundle mainBundle];

UINavigationController *navController = [UINavigationCOntroller]alloc]initWithRootViewController:object];

[self presentModalViewController:navController animated:YES];

[object release];
[navController release];
}

И в viewDidLoad ViewController выполните:

 self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Add" style:UIBarButtonItemStyleBordered target:self action:@selector(next:)] autorelease];
    self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelAdd:)] autorelease]
    self.navigationItem.titleView =  someView;
person Vin    schedule 09.02.2012