像地图应用程序中的多行UINavigationBar / UIToolbar

时间:2012-09-12 13:13:54

标签: ios uinavigationbar uitoolbar

在方向模式的iPhone地图应用程序(适用于iOS 5)中,工具栏位于导航栏的正下方,工具栏渐变与导航栏背景完美匹配。

我想知道是否有一些简单的方法可以实现类似的行为? (最好不使用自定义图像)

1 个答案:

答案 0 :(得分:0)

我认为这是一个普通的工具栏,在UIView中有两个文本字段(作为UIBarButtonItem添加到工具栏)到导航栏下面的屏幕顶部。

这是我实施它的方式:

    UIToolbar *bar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 100)];

    UITextField *field1 = [[UITextField alloc] initWithFrame:CGRectMake(15, 5, 280, 30)];
    UITextField *field2 = [[UITextField alloc] initWithFrame:CGRectMake(15, 50, 280, 30)];
    [field1 setBorderStyle:UITextBorderStyleRoundedRect];
    [field2 setBorderStyle:UITextBorderStyleRoundedRect];

    UIView *viewForTextFields = [[UIView alloc] initWithFrame:bar.frame];

    [viewForTextFields addSubview:field1];
    [viewForTextFields addSubview:field2];

    UIBarButtonItem *viewForTextFieldsBarItem = [[UIBarButtonItem alloc] initWithCustomView:viewForTextFields];

    NSArray *items = [NSArray arrayWithObjects:viewForTextFieldsBarItem, nil];

    [bar setItems:items];
    [bar setContentMode:UIViewContentModeTopLeft];

    [self.view addSubview:bar];