OGeek|极客世界-中国程序员成长平台

标题: ios - iPhone:如何将 inputAccessoryView 修复为 View? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 08:25
标题: ios - iPhone:如何将 inputAccessoryView 修复为 View?

我有一个工具栏,我需要在编辑文本时使用它,什么时候不需要。

在以前的应用中,我手动移动了工具栏(监听通知等)

但我想使用 inputAccessoryView...所以在我的 viewDidLoad 中,我这样做了

for (/*myTextFields*/) {
   textField.inputAccessoryView = keyboardToolbar;
}
[self.view addSubView:keyboardToolbar];

效果很好,工具栏出现,我点击一个文本字段,工具栏向上滑动 - 一切都很好。 但是当我随后隐藏键盘时,inputAccessoryView 将我的工具栏拖离屏幕。有没有办法告诉 inputAcessoryView 它的固定位置在哪里? - 还是我必须回到我以前的收听通知方式等...?



Best Answer-推荐答案


我通过监听通知并向上移动工具栏解决了这个问题......哦,好吧。

这样的事情可以完成:

- (void)viewWillAppearBOOL)animated 
{
    [super viewWillAppear:animated];
    /* Listen for keyboard */
    [[NSNotificationCenter defaultCenter] addObserver:self selectorselector(keyboardWillShow name:UIKeyboardWillShowNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selectorselector(keyboardWillHide name:UIKeyboardWillHideNotification object:nil];
}
- (void)keyboardWillShowNSNotification *)notification 
{
    [keyboardToolbar setItems:itemSetFull animated:YES];
    /* Move the toolbar to above the keyboard */
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3];
    CGRect frame = self.keyboardToolbar.frame;
    frame.origin.y = self.view.frame.size.height - 210.0;
    self.keyboardToolbar.frame = frame;
    [UIView commitAnimations];
}

- (void)keyboardWillHideNSNotification *)notification 
{
    [keyboardToolbar setItems:itemSetSmall animated:YES];
    /* Move the toolbar back to bottom of the screen */
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3];
    CGRect frame = self.keyboardToolbar.frame;
    frame.origin.y = self.view.frame.size.height - frame.size.height;
    self.keyboardToolbar.frame = frame;
    [UIView commitAnimations];
}

我猜输入附件 View 实际上只是用于卡在键盘顶部的东西

关于ios - iPhone:如何将 inputAccessoryView 修复为 View?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6784171/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4