UITextField委托导致UIToolBar无法在iOS中显示

时间:2013-06-07 09:59:42

标签: ios uitextfield uitoolbar accessoryview

这就是我在UITextField的加密视图中显示UIToolbar所做的事情。不幸的是,由于某些原因我无法看到它。我在这做错了什么?

UIBarButtonItem *flexiableItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
    UIBarButtonItem *item1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneTyping)];

    UIBarButtonItem *item2 =  [[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonItemStyleBordered
                                                              target:self  action:@selector(gotoNextTextfield:)];



    UIToolbar *toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 44)];


    NSArray *items = [NSArray arrayWithObjects:item2, flexiableItem, item1, nil];
    toolbar.items = items;

    [inputAccView addSubview:toolbar];

    [self.msgTextField setInputAccessoryView:inputAccView];

更新:

如果我删除self.msgTextField.delegate = self;,那么我可以看到工具栏..但为什么?

2 个答案:

答案 0 :(得分:0)

尝试替换

[inputAccView addSubview:toolbar];
[self.msgTextField setInputAccessoryView:inputAccView];

[self.msgTextField setInputAccessoryView:toolbar];

答案 1 :(得分:0)

在.h文件中添加<UITextFieldDelegate>

然后在你的- (void)viewDidLoad试试这个,它适用于我:

    // Keyboard Tool Bar

    UIToolbar *toolbar = [[UIToolbar alloc] init];
    [toolbar setBarStyle:UIBarStyleBlackTranslucent];
    [toolbar sizeToFit];


    UIBarButtonItem *nextField =[[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonItemStyleBordered target:self action:@selector(nextField)];
    UIBarButtonItem *flexButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
    UIBarButtonItem *doneButton =[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(resignKeyboard)];

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

    [toolbar setItems:itemsArray];

    [self.msgTextField setInputAccessoryView:toolbar];