相关疑难解决方法(0)

为UINavigationController创建一个自定义后退按钮

我正在为iOS 4.2开发应用程序.我将子类UINavigationController插入两个UIImageView并使导航栏看起来是自定义的.一切都很好,但我有一点问题.我创建了自定义UIBarButtonItem和我的视图控制器内部我把它们:

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:backButton];
Run Code Online (Sandbox Code Playgroud)

它也有效,但问题是,为了完成这项工作,我需要调用它:

 - (void)viewDidAppear:(BOOL)animated ;
Run Code Online (Sandbox Code Playgroud)

因此它只出现在动画之后,我可以看到非自定义按钮1秒钟,然后自定义按钮替换它.

(我试过viewWillAppear但在导航栏中没有任何附加内容)

我想知道你是否有解决方案可以解决这个问题.

PS:我从不使用IB,一切都是以编程方式制作的.

谢谢法国!

编辑1:这里的代码没有显示任何内容viewWillAppear:

- (void)viewWillAppear:(BOOL)animated  {
    [self setTitle:@"Jeu"];

    //Bouton testflight
    TIFButton *testFeedbackButton = [[TIFButton alloc]init];
    [testFeedbackButton setTitle: @"Envoyer un Feedback" forState:UIControlStateNormal];
    [testFeedbackButton addTarget:self action:@selector(launchFeedback) forControlEvents:UIControlEventTouchUpInside];

    UIBarButtonItem *testFeedback = [[UIBarButtonItem alloc] initWithCustomView:testFeedbackButton];

    self.navigationItem.rightBarButtonItem = testFeedback;  

    TIFBackButton *backButton = [[TIFBackButton alloc]init];
    [backButton setTitle: @"Retour" forState:UIControlStateNormal];
    [backButton addTarget:self action:@selector(popToPrecedentViewController) forControlEvents:UIControlEventTouchUpInside];

    self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithCustomView:backButton];
}
Run Code Online (Sandbox Code Playgroud)

uinavigationbar uinavigationcontroller uibarbuttonitem viewdidappear ios

4
推荐指数
1
解决办法
2万
查看次数