以编程方式向UITableView添加导航栏

时间:2012-08-11 06:19:40

标签: ios uitableview uinavigationbar

我是IOS的新手..

我想要的是UITableView上的导航栏,我在-(void) loadView内创建了

我的代码是这样的......

(void)loadView {
    [super loadView];       

    CGRect  frame = CGRectMake(0, 0, 320, 480); //define size and position of view
    tableView1= [[UITableView alloc]initWithFrame:frame style:UITableViewStylePlain ];
    tableView1.editing=YES;
    tableView1.dataSource=self;
    tableView1.delegate=self;

    //navigationItem= [[UIBarButtonItem alloc]initWithTitle:@"Names" style:UIBarButtonItemStyleBordered target:self action:@selector(first:) ];
    //self.navigationItem.leftBarButtonItem=btnBarItem;

    [self.view addSubview:tableView1];
}

我想在我分配的tableview上方导航栏,以便我可以插入一个添加按钮..

任何帮助都将受到高度赞赏......

3 个答案:

答案 0 :(得分:1)

Adding a NavigationBar to UITableViewController programmatically?

先检查出来,这是完全相同的问题。另外,@ card是对的。只需将UITableViewController作为NavigationController中的rootview。如果您不知道如何操作,请点击Editor -> Embed in -> Navigation Controller,这是最简单的方式。

答案 1 :(得分:0)

因为您不熟悉iOS开发,所以我不知道您是否熟悉iOS中的导航模式。

查看Navigation Controllers的文档,然后您应该使用UINavigationViewControllerUITableViewController。按UITableViewController上的UINavigationViewController,导航栏就会显示在顶部。

答案 2 :(得分:0)

只需输入此代码

必须删除它,因为它只是导致错误:)

修改1

抱歉不理解。这是有效的解决方案。

您需要将UINavigationController作为appDelegate中的主要容器,并将您的第一个viewController分配给它的根viewController,就像我之前在代码中所做的那样

UINavigationController *ePicker = [[UINavigationController alloc] initWithRootViewController:firstViewController];

然后您将在tableview上获得导航栏

快乐编码:)

修改2

如果你只想要一个导航栏而不是一个navigationViewController,那么就把这行

UINavigationBar *navBar = [[UINavigationBar alloc]init];
    [self.view addSubview:navBar];

在viewDidLoad方法中,导航栏将显示在tabelView

上方

快乐编码:)