Giter Club home page Giter Club logo

Comments (7)

jhersh avatar jhersh commented on June 28, 2024

I resolved this by adding a placeholder (empty) view as the UITextView's inputAccessoryView.

from dakeyboardcontrol.

mennopruijssers avatar mennopruijssers commented on June 28, 2024

Yes, this works greats for UITextField's, but not for UITextView's.
It's reproducable with the following steps:

  • open PlainViewController.xib
  • also add a UITextView
  • run in simulator
  • make the UITextView the firstresponder by clicking in it.

Now the keyboard is shown, but it doesn't slide away. By placing a Breakpoint on line 98 of DAKeyboardControlView.m I discovered the following things:

  • activeInput is the correct UITextView
  • activeInput.inputAccessoryView is indeed the empty placeholder
  • activeInput.inputAccessoryView.superview is nil instead of the keyboard.

from dakeyboardcontrol.

danielamitay avatar danielamitay commented on June 28, 2024

I spent a lot of time trying to figure out this issue. For whatever reason, setting the inputAccessoryView to the UITextView when it becomes active does not work as it does for a UITextField. However, setting the inputAccessoryView before the UITextView becomes active should work (as jhersh recommended).

I have completely rebuilt DAKeyboardControl to be a category on UIView, and to be block-based. Check it out!

In this new version, I have managed to support grabbing the keyboard view from a UITextView by checking whether the keyboard view exists at the end of keyboardDidShow:, and trying again. See below:

// If the active keyboard view could not be found (UITextViews...), try again
if (!self.keyboardActiveView)
{
    [self.keyboardActiveInput resignFirstResponder];
    [self.keyboardActiveInput becomeFirstResponder];
}

This occurrence is imperceptible to the user.

from dakeyboardcontrol.

jhersh avatar jhersh commented on June 28, 2024

Thanks @danielamitay! Just updated my app to your latest release and it's working great. I was also able to remove the empty placeholder view from my UITextView's inputAccessoryView.

from dakeyboardcontrol.

danielamitay avatar danielamitay commented on June 28, 2024

Awesome! Also, is this an app on the App Store? If so, could I get the name/promo code? I would eventually like to put a list of apps in the README.

from dakeyboardcontrol.

jhersh avatar jhersh commented on June 28, 2024

It's a messaging app, basically code-complete but not releasable for other reasons. I'll follow up when it's on the store, possibly later this year.

from dakeyboardcontrol.

jerrin15 avatar jerrin15 commented on June 28, 2024

Is this working for everyone now? I have a UITextView , which when called brings up my custom input accessory view but its position is not on top of the keyboard. When i drag the auto-translate bar on the keyboard it gets set correctly.So every time on the initial call the input accessory view is placed on top of the keyboard, on interaction with the keyboard it gets set correctly.

I currently used the following code snippets only

self.view.keyboardTriggerOffset = keyboardView.bounds.size.height;

[self.view addKeyboardPanningWithFrameBasedActionHandler:^(CGRect keyboardFrameInView, BOOL opening, BOOL closing) {
    CGRect toolBarFrame = keyboardView.frame;
    toolBarFrame.origin.y = keyboardFrameInView.origin.y - toolBarFrame.size.height;
    keyboardView.frame = toolBarFrame;

} constraintBasedActionHandler:nil];

I also call the
[textView setInputAccessoryView:keyboardView];

in the UITextView shouldbegin method

from dakeyboardcontrol.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.