2013-06-07 5 views
0

Это то, что я делаю, чтобы отобразить UIToolbar в представлении UITextField. К сожалению, я не могу его увидеть по какой-то причине. Что я здесь делаю неправильно?UITextField делегирует UIToolBar не отображается в iOS

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]; 

Update:

если удалить self.msgTextField.delegate = self; то я могу увидеть панель .. но почему ??

ответ

0

Попробуйте заменить

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

с

[self.msgTextField setInputAccessoryView:toolbar]; 
+0

Я боюсь, что это не сработало .. –

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]; 
+0

У меня есть странная проблема. Если я удалю 'self.msgTextField.delegate = self ;, то я могу увидеть панель инструментов! Я не понимаю. –

 Смежные вопросы

  • Нет связанных вопросов^_^