[TIMOB-6490] iOS: keyboardToolbar stays on the screen after the keyboard is gone
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | High |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2011-12-14T10:50:37.000+0000 |
Affected Version/s | Release 1.8.0, Release 1.7.6 |
Fix Version/s | Sprint 2011-49, Release 1.7.6, Release 1.8.0.1 |
Components | iOS |
Labels | n/a |
Reporter | Qing Gao |
Assignee | Stephen Tramer |
Created | 2011-12-06T14:50:14.000+0000 |
Updated | 2014-06-19T12:44:18.000+0000 |
Description
After the textfield lose focus, the keyboard is gone but in some case the keyboardToolbar is still left on the screen.
Repro Steps
1.Build a project based on the following code. 2.Click the first row of testFields and the keyboard will appear. 3.Continuously click the "next" button on the keyboardToolbar for 4 times and then click the "Done" button on the same keyboardToolbar. Expected Result: The keyboardToolbar should be gone with the keyboard. Actual Result: The keyboardToolbar still stays in the middle of the screen while the keyboard is gone.
Titanium.UI.setBackgroundColor('#000');
var datasource=[],textFieldArray=[],table,rowId=1,textFieldId= 0;
var win1 = Titanium.UI.createWindow({
title:'Window',
barColor:'#808080',
});
for (i = 0; i <=12; i++) {
var row = createRows(rowId);
datasource.push(row);
rowId++;
}
table=Titanium.UI.createTableView({
top:0,
data:datasource
})
win1.add(table);
function createRows(_rowId) {
var row = Titanium.UI.createTableViewRow();
row.rowId = _rowId;
row.height=60;
var flexSpace = Titanium.UI.createButton({
systemButton:Titanium.UI.iPhone.SystemButton.FLEXIBLE_SPACE
});
var navButtons = Titanium.UI.createButtonBar({
labels:['Previous','Next'],
backgroundColor:'#000',
top:100,
style:Titanium.UI.iPhone.SystemButtonStyle.BAR,
height:25,
width:'auto'
});
var done = Titanium.UI.createButton({
systemButton:Titanium.UI.iPhone.SystemButton.DONE
});
var inputTextField = Titanium.UI.createTextField({
color : '#ff7c00',
top : 5,
height : 50,
textAlign : 'right',
width : '25%',
hintText : '',
left : '65%',
right : '8%',
keyboardToolbar : [navButtons,flexSpace,done],
keyboardToolbarColor : '#898989',
returnKeyType : Titanium.UI.RETURNKEY_DEFAULT,
borderStyle : Titanium.UI.INPUT_BORDERSTYLE_ROUNDED,
keyboardType : Titanium.UI.KEYBOARD_NUMBER_PAD,
font : {
fontSize : 20,
fontColor : '#ff7c00',
fontWeight : 'bold',
fontFamily : 'Helvetica Neue'
}
});
inputTextField.rowId=_rowId
textFieldId = textFieldId + 1;
inputTextField.id = textFieldId;
textFieldArray.push(inputTextField);
inputTextField
.addEventListener(
'blur', function(e) {
});
navButtons.addEventListener('click', function(e) {
max = textFieldArray.length;
if(e.index ===0) { /*Prev Tab*/
if( inputTextField.id ===1) {
done.fireEvent('click');
} else {
var rowIndex=inputTextField.rowId-1;
changeFocus(rowIndex,0,textFieldArray);
}
} else { /*Next Tab*/
if(inputTextField.id === max) {
done.fireEvent('click');
} else {
var rowIndex=inputTextField.rowId+1;
changeFocus(rowIndex,1,textFieldArray) ;
}
}
});
done.addEventListener('click', function() {
for(i=0,j=textFieldArray.length;i<j;i++) {
var textField = textFieldArray[i];
textField.blur();
}
});
row.add(inputTextField);
return row;
}
function changeFocus(_rowIndex,_flag,textFieldArray) {
table.scrollToIndex(_rowIndex,{animated:true,position:Ti.UI.iPhone.TableViewScrollPosition.BOTTOM});
textFieldArray[_rowIndex-1].focus();
};
win1.open();
Attachments
File | Date | Size |
---|---|---|
Screen shot 2011-12-06 at 2.48.45 PM.png | 2011-12-06T14:50:14.000+0000 | 98379 |
Bug fixed. Verified on: SDK: 1.8.0.1.v20111208104316 Studio: 1.0.7.201112080131 OS: OS X Lion Devices Tested: iOS Simulator 5.0 iPhone/iPad
Removing merge tag.