#objective-c #ios
#objective-c #iOS
Вопрос:
MoreFunctionViewController.h
код, подобный этому:
#import <UIKit/UIKit.h>
@interface MoreFunctionViewController : UIViewController <UITableViewDelegate,UITableViewDataSource>{
UITableView *moreTable;
}
@property (nonatomic, retain) UITableView *moreTable;
@end
и MoreFunctionViewController.m
код, подобный этому:
#import "MoreFunctionViewController.h"
#import "CustomNavigationBar.h"
#import "MyShakeViewController.h"
@implementation MoreFunctionViewController
@synthesize moreTable;
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"More";
CGRect tableFrame = self.view.frame;
tableFrame.origin.y -= 20;
moreTable = [[UITableView alloc] initWithFrame:tableFrame style:UITableViewStyleGrouped];
moreTable.delegate = self;
moreTable.dataSource = self;
moreTable.backgroundColor = [UIColor clearColor];
[self.view addSubview:moreTable];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.navigationController.navigationBar setBackgroundImage:nil];
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"twoNavbar.png"]];
}
..................
..................
- (void)tableView: (UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath
{
if (indexPath.section == 0) {
if (indexPath.row == 0) {
NSLog(@"ddd");
MyShakeViewController *myshakeView = [[MyShakeViewController alloc] init];
[self.navigationController pushViewController:myshakeView animated:YES];
[myshakeView release];
}
}
}
метод MyShakeViewController -(void) viewDidLoad
, подобный этому:
-(void) viewDidLoad{
self.title = @"TestTitle";
}
но не могу увидеть заголовок.
если я изменю
[self.navigationController pushViewController:myshakeView animated:YES];
Для
[self.navigationController pushViewController:myshakeView animated:NO];
Я вижу title
, это почему?
но мне нужен анимированный YES
Как я могу это сделать!
Комментарии:
1. Вы не вызываете super? [super viewDidLoad] ?
Ответ №1:
Попробуйте задать заголовок из своего MoreFunctionViewController
:
MyShakeViewController *myshakeView = [[MyShakeViewController alloc] init];
myShakeView.title = @"TestTitle";
[self.navigationController pushViewController:myshakeView animated:YES];
[myshakeView release];
Что касается того, почему, я не уверен, я только когда-либо создавал контроллеры представлений, используя initWithNibName
(поэтому заголовок загружается из кончика) и / или с пользовательскими представлениями заголовков в элементе навигации (поэтому я заменяю представление заголовка своим собственным представлением), поэтому я не использовал вашу конкретную настройку.
Комментарии:
1. Хорошо, очень много думает, теперь все в порядке!!