0

サブビューとしてTextFieldsを持ついくつかのテーブルセルを持つtableViewがあります

self.cellFirstName = [[UITableViewCell alloc] initWithFrame:cellRectangle];
self.tfFirstName = [[UITextField alloc] initWithFrame:Field1Frame];
self.tfFirstName.tag = 1;
self.tfFirstName.delegate = self;
self.tfFirstName.placeholder = @"First Name";
[self.cellFirstName addSubview:self.tfFirstName];

...

if(indexPath.section == 0) {
    cell =  self.cellFirstName;
}

実際の iPad で textField に触れても、iPad シミュレーターで TextField をクリックしても、キーボードはポップアップしません。
本物のiPhoneとsimのiPhoneで動作します。

どういうわけか、キーボードをポップアップさせるために何もできません。


textFields の 1 つを最初の応答者として設定すると、キーボードが表示されます
が、キーボードを閉じて textFields のいずれかを押すと、何もありません - キーボードはありません。

textFields をクリックまたはタッチすると、青色に変わります。

iPhone ストーリーボードを iPad にコピーし、
targetRuntime
を「iOS.CocoaTouch.iPad」に変更し
ても結果は同じでした。

これを機能させるために私が使用しているハックは次のとおりです。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(indexPath.section == 0) {
        [self.tfFirstName becomeFirstResponder];
    }
    if(indexPath.section == 1) {
        [self.tfLastName becomeFirstResponder];
    } ...

キーボードが飛び出さないようにしている理由を理解したいと思います。

4

1 に答える 1

0

の特別なコードがある場合は、デバイスが のときに返されるおよび/またはメソッドの 1 つをiPad設定している可能性があります。それらをチェックしてください。tfFirstName.userInteraction = NO;tfFirstName.enabled = NO;delegateNOiPad

于 2013-07-17T09:50:01.610 に答える