0
我的要求要求我在keyboard
的同一時間顯示數字UIPickerView
。當我點擊文本框時,我創建的數字選取器現在不出現,儘管鍵盤確實如此。當我點擊表格中的行時,文本字段中沒有光標,但出現了選擇器。顯示UIPicker和鍵盤
當用戶點擊textfield
時,應該顯示選取器並且還應該顯示keyboard
。兩者同時。有三個原型行:數據行,日期選擇器行和數字選擇器行。數字選取器還需要允許來自軟件keyboard
的文本輸入。
hideExistingPickerBelowIndexPath
僅添加選取器類型的新行並向數據添加臨時行。
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
if (indexPath != nil)
{
WCHistoryItem *anItem = [self getAnItemFromIndexPath:indexPath];
if ([anItem.type isEqualToString:kDate] || [anItem.type isEqualToString:kNumeric]) {
if (_isPickerVisible != NO)
{
[self hideExistingPickerBelowIndexPath:[NSIndexPath indexPathForRow:self.pickerIndexPath.row-1 inSection:self.pickerIndexPath.section]];
}
[self showNewPickerAtIndex:indexPath];
} else {
if (_isPickerVisible == YES) {
[self hideExistingPickerBelowIndexPath:[NSIndexPath indexPathForRow:self.pickerIndexPath.row-1 inSection:self.pickerIndexPath.section]];
}
}
}
}
-(IBAction)didBeginEditingNumericField:(UITextField*)sender
{
WCHistoryItem *anItem = [self getAnItemFromUIView:sender];
NSIndexPath *indexPath = [self getAnIndexPathFromUIView:sender];
if (_isPickerVisible == NO)
{
//make a date cell
[self showNewPickerAtIndex:indexPath];
} else {
[self hideExistingPickerBelowIndexPath:[NSIndexPath indexPathForRow:self.pickerIndexPath.row-1 inSection:self.pickerIndexPath.section]];
[self showNewPickerAtIndex:indexPath];
}
UITextField *textField = (UITextField*)sender;
[textField becomeFirstResponder];
}
我們需要使用軟件鍵盤在文本字段中同時顯示選取器和光標。這兩個在同一時間。我怎麼做?
感謝您的回覆!實際上只有一個要求:一個選取器控制和一個鍵盤,它們同時出現並且都可以被用戶用來設置值。我正在評估你分享的項目,看看它是否可以修改來做我需要的。 –
這並不能解決我的問題。我無法弄清楚爲什麼我可以動態顯示一個選擇器而不是軟件鍵盤,或者顯示一個鍵盤而不是選擇器。 –
正確 - 所以你有其他問題。你的任務很複雜,你需要將它分解成更簡單的部分,並讓每個部分工作。你原來的問題是讓兩個觀點一起工作,我現在展示的作品。因此,採取該演示項目,使主視圖tableView,將textField添加到單元格,然後再試一次。如果你試圖「強迫」你目前複雜的項目工作,你可能會花費更多的時間在這方面,而不是你需要的。由於鍵盤實際上是在窗口中與視圖重疊的窗口中,嘗試添加新視圖可能無法正常工作。 –