我無法獲得上面顯示的工具欄(就像蘋果用完成按鈕)鍵盤。任何事情都能想到它爲什麼不顯示?像下面的圖片一樣。工具欄不會顯示在鍵盤上方
.H
@interface CustomerNotesController : UITableViewController <UITextViewDelegate>
{
UIToolbar *noteToolbar;
IBOutlet UITextView *note;
id delegate;
}
@property (nonatomic, strong) IBOutlet UITextView *note;
@property (nonatomic, retain) id delegate;
@property (nonatomic, retain) UIToolbar *noteToolbar;
.M
@synthesize note, noteToolbar, delegate;
- (void)viewDidLoad
{
[super viewDidLoad];
[note setDelegate:self];
[note becomeFirstResponder];
}
- (void)textViewDidBeginEditing:(UITextView *)textView
{
NSLog(@"EDITING");
if (noteToolbar == nil) {
NSLog(@"Creating toolbar");
noteToolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.bounds.size.width, 44.0)];
noteToolbar.barStyle = UIBarStyleBlackTranslucent;
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelNote:)];
UIBarButtonItem *clearButton = [[UIBarButtonItem alloc] initWithTitle:@"Clear" style:UIBarButtonItemStyleBordered target:self action:@selector(clearNote:)];
UIBarButtonItem *extraSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(saveNote:)];
noteToolbar.items = [NSArray arrayWithObjects:cancelButton, clearButton, extraSpace, doneButton, nil];
NSLog(@"Items: %@", noteToolbar.items);
}
NSLog(@"Current field: %@",textView);
NSLog(@"keyboard: %@", noteToolbar);
textView.inputAccessoryView = noteToolbar;
}
日誌
2012-04-11 17:31:00.148 MyApp[28892:fb03] EDITING
2012-04-11 17:31:00.148 MyApp[28892:fb03] Creating toolbar
2012-04-11 17:31:00.149 MyApp[28892:fb03] Items: (
"<UIBarButtonItem: 0x10dc3420>",
"<UIBarButtonItem: 0x10dc3480>",
"<UIBarButtonItem: 0x10dc34e0>",
"<UIBarButtonItem: 0x10dc3540>"
)
2012-04-11 17:31:00.149 MyApp[28892:fb03] Current field: <UITextView: 0x10d94f40; frame = (5 5; 310 140); text = 'This is sample text'; clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x10d95170>; contentOffset: {0, 0}>
2012-04-11 17:31:00.150 MyApp[28892:fb03] keyboard: <UIToolbar: 0x10dc2820; frame = (0 0; 320 44); opaque = NO; layer = <CALayer: 0x10dc2730>>
嘗試在'viewDidLoad'方法中設置這些內容 – Legolas 2012-04-12 01:33:20
@Legolas我嘗試了一些這段代碼的位置。我做了視圖加載,keyboardWillAppear和textViewDidBeginEditing和textViewShouldBeginEditing。 – Bot 2012-04-12 15:20:10
@QwertyBob你們不理解這個問題......它可以像我之前在其他應用中使用過的那樣完成。工具欄就像蘋果公司在其鍵盤上一樣放置在鍵盤上方。 – Bot 2012-04-12 15:32:50