【问题标题】:unable to get title bar and navigation button items无法获取标题栏和导航按钮项
【发布时间】:2011-05-06 05:15:40
【问题描述】:

我在我的项目中添加了一个新文件,因为我正在以编程方式创建屏幕,并且我使用以下代码创建了一个带有标题栏和标题栏上的 2 个按钮的分组表视图,但它只创建了分组表而不是标题栏是这样的,谁能帮我提前谢谢

- (void)viewDidLoad {
    [super viewDidLoad];
    self.title = @"Add Item";
    self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] 
                                              initWithBarButtonSystemItem:UIBarButtonSystemItemCancel 
                                              target:self action:@selector(cancel_Clicked:)] autorelease];

    self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] 
                                               initWithBarButtonSystemItem:UIBarButtonSystemItemSave 
                                               target:self action:@selector(save_Clicked:)] autorelease];

    self.view.backgroundColor = [UIColor scrollViewTexturedBackgroundColor];



    tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, 320, 415)style:UITableViewStyleGrouped];
    tableView.dataSource = self;
    tableView.delegate = self;
    [self.view addSubview:tableView];
}

【问题讨论】:

    标签: iphone objective-c titlebar


    【解决方案1】:
    UIBarButtonItem *addButton = [[[UIBarButtonItem alloc]
                                       initWithTitle:@"+"
                                       style:UIBarButtonItemStyleBordered
                                       target:self
                                       action:@selector(Add)] autorelease];
    self.navigationItem.rightBarButtonItem = addButton;
    
    [journeylist.tabBarItem initWithTitle:@"Journey List" image:[UIImage imageNamed:@"listIcon-H.png"] tag:1];
    journeylist.navigationItem.title =@"Journey List";
    
    NSArray *controllers = [NSArray arrayWithObjects:journeylist,appstore,settings,about,nil];
    self.viewControllers = controllers;
    

    试试这个。

    【讨论】:

      【解决方案2】:

      您的表格框架是CGRectMake(0, 0, 320, 415),所以左上角,您需要为标题栏留出空间,例如CGRectMake(0, 40, 320, 415)。

      【讨论】:

        【解决方案3】:

        我认为你必须这样呈现它。

        SomeViewController *controller = [[SomeViewController alloc]
                                        initWithNibName:@"SomeViewController" bundle:nil];
        UINavigationController *navController = [[UINavigationController alloc]
                                     initWithRootViewController:controller];
        navController.navigationBar.tintColor = [UIColor grayColor];
        [self.navigationController presentModalViewController:navController animated:YES];
        [navController release];
        [controller release];
        

        编辑

        当您使用表格视图显示该控制器时,您必须首先将其添加到导航控制器才能显示导航栏。

        【讨论】:

        • @robin 您的回答是否以错误的问题结束?您和@Rani 似乎在回答同样的问题,但不是上面的问题。还是我傻?
        • @dave @kiran 的代码是正确的。这就是您在导航栏上创建按钮的方式。但他没有看到导航栏,因为他必须先在导航控制器中添加控制器。我有同样的问题,但使用此代码完成了工作。
        • @robin SomeViewController 应该是 UIViewController 类型?因为我在这些行上遇到错误 controller.delegate = self;控制器.isAddingNewEntry = 是;控制器.isConvertingToTimeEntry = 否;错误:未找到 UIViewController 类型对象的委托
        • 抱歉 kiran 我已经粘贴了我用于客户应用程序的代码检查编辑的代码。我正在使用这些变量在该视图控制器中显示某些内容
        • @robin 我试过你的代码 robin 但我看不到标题栏,我们需要设置任何代表吗?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-05
        相关资源
        最近更新 更多