Domanda

Sto portando l'attenzione su una UiTextView dopo aver impostato il suo .nascosto Proprietà al no. Quando imposto [TextView diventa FirStresponder] Il textView ottiene il cursore di digitazione, ma la tastiera rimane nascosta. Qualche idea sul perché? Se aiuta, la vista principale è una visione modale che sta presentando un controller Uinavigation.

EDIT: ecco il metodo che viene chiamato:

- (void)show_comment_elements {

    toolbar.hidden = YES;
    main_table.hidden = YES;
    add_comment_table.hidden = NO;
    comment_text.hidden = NO;

    [comment_text becomeFirstResponder];

}

Ecco uno screenshot:

frustration

È stato utile?

Soluzione

Suppongo che tu abbia verificato che il tuo metodo venga invocato dopo che la vista è stata inserita sullo schermo.

Dai documenti ....

Un oggetto di risponditore diventa il primo risponditore solo se l'attuale risponditore può rassegnare le dimissioni dello stato di primo risponditore (CanresignFirstresponder) e il nuovo risponditore può diventare il primo risponditore.

È possibile chiamare questo metodo per creare un oggetto Responder come una vista il primo risponditore. Tuttavia, dovresti chiamarlo su questa visione solo se fa parte di una gerarchia di visualizzazione. Se la proprietà della finestra della vista contiene un oggetto Uiwindow, è stata installata in una gerarchia Visualizza; Se restituisce zero, la vista viene staccata da qualsiasi gerarchia.

Così:

  1. Puoi confermare che il risponditore attuale quando viene invocato il tuo metodo può rassegnare le dimissioni dello stato di primo rispondente?

  2. La tua vista sembra essere nella gerarchia di visualizzazione se viene visualizzata dalla schermata. Se lo schermo è di IB, testare che la proprietà della finestra della vista non è zero.

  3. Assicurati che la vista sia modificabile - if (comment_text.iseilizzatabile) o non accetterà lo stato del primo soccorritore.

  4. Prova ad aggiungere [comment_text setneedsdisplay] per forzare un riferimento con la vista impostata come primo risponditore.

Se nessuno di tutto ciò funziona, pubblica un po 'più di codice (ad esempio da dove viene chiamato il metodo).

Altri suggerimenti

Questo problema si verifica anche quando si modifica il nextResponder su un oggetto nella catena, in modo che la catena del risponditore non vada al UIWindow.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top