I have on UIWebView
in that i am allowing editing at runtime.
Now when i click on UIWebView
then iPad keyboard opens for writing,
now my re
I done my work by javascript like this...
In HTML file
function returnEnterPress(e){
var key;
if(window.event)
key = window.event.keyCode; //IE
else
key = e.which; //firefox
// ENTER KEY MUNBER IS 13 // KD
if(key == 13)
{
window.location.href = 'enterClicked/0';
}
else
{
var range = window.getSelection().getRangeAt(0).endOffset;
if(range == 0)
{
window.location.href = 'enterClicked/'+range;
}
}
return true;
}
<body onKeyPress="return returnEnterPress(event)">
In my Objective-c Code
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
if([[[request URL] absoluteString] rangeOfString:@"enterClicked"].location!=NSNotFound) // When "enterClicked" found
{
//Do your desired work
return NO;
}
}
You might be able to figure it out using some kind of Javascript but I would just use a form/submit button.
I don't think there is a public API for dealing with the keyboard at that level. It's quite a big effort (because of international keyboards) but one option would be to listen to UIKeyboardWillShow
notifications and overlay the keyboard with transparent UIView
s for the buttons you want to listen to. You could capture the touch, then pass it on to the views below (the keyboard) and let it do its thing.
You could even override (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event;
in your transparent button. So you capture the fact that it's been touch but return NO
anyway so that the keyboard gets the touch.
The difficulty is then to know where each key is, depending on the keyboard types you need to support.
Use some keyboard notification. i used the following code for detecting the keyboard is going to hide
- (void)viewDidLoad
{
[super viewDidLoad];
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(nothing) name:UIKeyboardWillHideNotification object:nil];
}
-(void)nothing
{
NSLog(@"do Whatever u want");
}
try it.,.