自从升级到 Xcode 5.1 后,我的 inputAccesoryView 出现问题。
正如您在所附图像中看到的那样,在 inputAccesoryView 内的工具栏后面弹出键。我认为它与新版本的 xcode 有关,因为它与以前版本的 xcode 没问题。
创建和添加附件视图的代码:
self.keyboardDoneButtonView = [[UIToolbar alloc] init];
self.keyboardDoneButtonView.barStyle = UIBarStyleBlack;
self.addEmailUITextField = [[UITextField alloc] init];
[self.addEmailUITextField setReturnKeyType:UIReturnKeySend];
[self.addEmailUITextField setBorderStyle:UITextBorderStyleRoundedRect];
[self.addEmailUITextField setAutocorrectionType:UITextAutocorrectionTypeNo];
[self.addEmailUITextField setAutocapitalizationType:UITextAutocapitalizationTypeNone];
[self.addEmailUITextField setKeyboardType:UIKeyboardTypeEmailAddress];
[self.addEmailUITextField setClearButtonMode:UITextFieldViewModeWhileEditing];
[self.addEmailUITextField setKeyboardAppearance:UIKeyboardAppearanceDark];
[self.addEmailUITextField setPlaceholder:NSLocalizedString(@"emailHint", nil)];
self.cancel = [[UIButton alloc] init];
[self.cancel setTitleColor:[UIColor khipuSecondaryColor] forState:UIControlStateNormal];
[self.cancel setTitle:NSLocalizedString(@"cancel", nil) forState:UIControlStateNormal];
[self.cancel addTarget:self action:@selector(hideAddEmailTextField) forControlEvents:UIControlEventTouchUpInside];
[self.cancel sizeToFit];
self.cancel.frame = CGRectMake((self.tableView.frame.size.width - (self.cancel.frame.size.width + 20)), self.cancel.frame.origin.y, self.cancel.frame.size.width, self.cancel.frame.size.height);
self.addEmailUITextField.frame = CGRectMake(5, 7, (self.cancel.frame.origin.x - 10) - 5, 30);
UIBarButtonItem *cancelUIBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:self.cancel];
UIBarButtonItem *textFieldItem = [[UIBarButtonItem alloc] initWithCustomView:self.addEmailUITextField];
[self.keyboardDoneButtonView setItems:[NSArray arrayWithObjects:textFieldItem,cancelUIBarButtonItem, nil]];
[self.keyboardDoneButtonView sizeToFit];
self.hiddenUITextField = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
self.hiddenUITextField.inputAccessoryView = self.keyboardDoneButtonView;
[self.hiddenUITextField setKeyboardAppearance:UIKeyboardAppearanceDark];
[self.addEmailUITextField setDelegate:self];
在 xcode 升级之前,此代码可以很好地工作
任何人都可以阐明这个问题吗?