以编程方式向UIToolbar添加按钮

时间:2013-07-17 12:04:02

标签: ios uipickerview

我正在以编程方式使用以下代码创建UIToolbar:

pickerTB = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];
[self.view addSubview:pickerTB];

如何为其添加一个按钮?它需要说“完成”,按钮必须能够稍后调用方法。

3 个答案:

答案 0 :(得分:16)

试试这个,如果你想在uitoolbar的右侧添加DONE按钮,那么在完成按钮之前添加灵活的按钮

 UIBarButtonItem *flexButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
 UIBarButtonItem *doneButton =[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneButton)];

 NSArray *itemsArray = [NSArray arrayWithObjects:flexButton, doneButton, nil];


 [toolbar setItems:itemsArray];

-(void)doneButton
{
}

//更改工具栏样式

 [toolbar setBarStyle:UIBarStyleBlackTranslucent];

//更改栏按钮颜色

[doneButton setTintColor:[UIColor blackColor]];

答案 1 :(得分:2)

pickerTB.items = [NSArray arrayWithObjects:[[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(done:)],nil];

答案 2 :(得分:1)

此代码非常有助于将按钮添加到键盘或pickerview中的UIToolbar。

例如: 如果你想要"完成"按钮将被插入选择器视图的工具栏中。你只需要遵循以下简单的步骤。

第1步: 必须将此代码包含在" viewDidLoad"创造"完成" UIToolbar中的按钮。 " textBoxText"是文本字段的名称。

    // create done button in toolbar.
    doneToolbar = UIToolbar(frame: CGRectMake(0, 0, self.view.frame.size.width, 50))
    doneToolbar.barStyle = UIBarStyle.Default
    doneToolbar.items =   [UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Plain, target: self, action: #selector(FirstViewController.PickerDoneButtonTapped))]
    doneToolbar.sizeToFit()
    textBoxText.inputAccessoryView = doneToolbar

第2步: 编码"完成"的功能包含在UIToolbar中的按钮。我已经给出了如果"完成"点击按钮PickerView必须禁用。

func PickerDoneButtonTapped()
{
    textBoxText.resignFirstResponder()
}

第3步: 必须在" viewDidload"

中调用该函数
self.PickerDoneButtonTapped()

输出:

enter image description here