Devo creare una nuova IBAction per ogni vista (iPad e iPhone).
In primo luogo, le azioni sono generalmente incluse nei controller di vista, non nelle viste. Penso che probabilmente è quello che intendevi, ma sottolineo la differenza perché ho visto un sacco di persone confondersi su questo punto.
Quando si crea un'app universale, vale a dire una singola app che adatta l'interfaccia utente al dispositivo (iPad o iPhone/iPod Touch) su cui è in esecuzione, una strategia comune è quella di fornire diversi layout di visualizzazione che rendono il migliore utilizzo delle dimensioni dello schermo disponibili, ma per utilizzare gli stessi controller di visualizzazione. Ad esempio, supponiamo di avere un'app con un'interfaccia master/dettagli. Sui dispositivi di piccole dimensioni, prima dovresti presentare la parte principale dell'interfaccia e quando l'utente sceglie qualcosa, visualizzerai la parte di dettaglio dell'interfaccia. Su un iPad, con lo schermo più grande, visualizzerai contemporaneamente entrambe le interfacce principale e di dettaglio in una vista divisa. Confrontando i due, è probabile che le viste siano diverse e il modo in cui vengono presentati i controller di visualizzazione è diverso, ma i controller di visualizzazione stessi dovrebbero rimanere gli stessi. Questa è una buona cosa, dal momento che gran parte del lavoro di creazione di un'app passa alla creazione dei controller di visualizzazione.
Se la tua app è simile a quella che ho descritto (o se puoi renderla simile), allora no, non hai bisogno di azioni separate per iPad e iPhone perché utilizzerai gli stessi controller di visualizzazione in entrambi i casi. Ci possono essere delle volte, però, quando il comportamento dell'app sui due diversi dispositivi è abbastanza diverso da avere senso avere controller specifici per iPad e specifici per iPhone. Potresti ancora essere in grado di utilizzare le stesse azioni derivando ognuna di quelle da una classe genitore comune che contiene le azioni. Altrimenti, è necessario che ogni classe implementa le proprie azioni.
Nel caso in cui si stia effettivamente facendo questo, se si assegnano le parole 'textField1' ecc., Si sta preparando per un mondo di dolore. Usa nomi di variabili descrittivi in modo che sia immediatamente evidente cosa è cosa. Altrimenti, finirai per confonderti e rendere la tua vita molto più difficile di quanto debba essere. – Jim
@Jim grazie, ma questo è solo un esempio. Seguo gli standard convenzionali di denominazione per nominare i miei oggetti. – ios85