2012-03-08 21 views
-1

私のアプリでUINavigationControllerを使用しています。何らかの理由で、CompanyViewというthird xibにページを切り替えることができません。それは第1から第2までではなく第2から第3まで細かく切り替わる。私はおそらく何か間違っているが、もし誰かが私のコードを見渡すことができれば素晴らしいだろう。私はボタンが正しく設定されていると思う。ここ は、ビューを変更することはありませんxibのための私の.h fileです:ここではUINavigationControllerを使用して別のビューに移動する

#import <UIKit/UIKit.h> 
#import "CompanyView.h" 

@interface MenuView : UIViewController 

-(IBAction)btnClicked:(id)sender; 

@end 

.m fileのための私のコードです:

#import "MenuView.h" 

@implementation MenuView 

-(IBAction)btnClicked:(id)sender { 

    CompanyView * companyView = [[CompanyView alloc] init]; 

    companyView.title = @"Company"; 

    [self.navigationController pushViewController:companyView animated:YES]; 

    [companyView release]; 
} 



- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
    } 
    return self; 
} 

- (void)didReceiveMemoryWarning 
{ 
    // Releases the view if it doesn't have a superview. 
    [super didReceiveMemoryWarning]; 

    // Release any cached data, images, etc that aren't in use. 
} 

#pragma mark - View lifecycle 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view from its nib. 
} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:  
(UIInterfaceOrientation)interfaceOrientation 
{ 
    // Return YES for supported orientations 
    return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 

@end 

答えて

0

は、あなたの会社の表示をこのように初期化を試してみてください。

CompanyView *companyView = [[CompanyView alloc] initWithNibName:@"CompanyView" bundle:nil]; 
+0

あなたを助けることができる...それはまだ切り替えていません。 CompanyView.hと.mファイルに追加するコードがありますか? – Maple

0

これは私がそれを設定する方法である:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
     CategoryPresetViewController *controller = [[CategoryPresetViewController alloc] initWithPVCDelegate:avc]; 
     controller.title = [[factoryCategoryNameArray objectAtIndex:indexPath.row] retain]; 
     if (controller != nil){ 
      [self.navigationController pushViewController:controller animated:YES]; 

     [controller release]; 
} 

多分それはうーん

+0

申し訳ありませんが、私はこのコードをどこに置くことができるのか分かりますか?あなたはどこの特別なジョンの.mファイルに置いていましたか? – Maple

+0

次のビューに進むために何を押したかは、 ' - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {'を除くすべてのものを置く場所です。 。また、必要に応じて '[factoryCategoryNameArray objectAtIndex:indexPath.row]'を変更する必要があります。だからcontroller.title = @ "新しいタイトルはここに"; avcはあなたのものにマッチしません、avcはactivityViewControllerです。あなたのAVCがどんなものであれ、それを一致させるように変更します。 –

+0

@Mapleは私がこれを学ぶのに使った最初のチュートリアルにリンクさせてくれます。 :] http://www.iosdevnotes.com/2011/03/uinavigationcontroller-tutorial/ –

関連する問題