Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλημέρα, φτιάχνω μια εφαρμογή για iOS στην οποία έχω στο UI 6 UISwitch. Κάθε ένα από αυτά αντιστοιχεί σε μια ρύθμιση και όταν ξεκινάει η εφαρμογή, θα είναι όλα κλειστά. Εδώ και 2 μέρες περίπου παιδεύω το εξής πρόβλημα. Θέλω όταν ανοίγω μια ρύθμιση από αυτές, κάποιες άλλες να γίνονται disable(δηλαδή να μην μπορεί να αλλάξει την τιμή ο χρήστης). Αυτό ξέρω να το κάνω. Το πρόβλημα είναι το εξής. Ας πούμε ότι ανοίγοντας το πρώτο switch, θέλω να γίνει disable το 4 και 5 switch. Ανοίγοντας το δεύτερο switch, θέλω να γίνει disable το 3 και 4 switch. Δηλαδή το 4 switch απενεργοποιείται με κάποια από τις δύο επιλογές. Όταν όμως ο χρήστης κλείσει τον ένα από τους δύο switch, ο 4 switch πρέπει να παραμείνει απενεργοποιημένος. Μόνο όταν κλείσουν και τα δύο switch, θα πρέπει ο switch 4 να ενεργοποιηθεί και πάλι.

Έχω φτιάξει IBAction συναρτήσεις για κάθε ένα switch που έχω στο UI και καλείται η κατάλληλη όταν το αντίστοιχο switch αλλάζει από on σε off και το αντίθετο.

Αυτό που δεν μπορώ να βρω είναι η συνθήκη με την οποία θα αλλάζω την κατάσταση του κάθε switch από disabled σε enabled και το αντίθετο.

Κάθε βοήθεια, ευπρόσδεκτη.

 

Sent from my iPhone using Insomnia

Δημοσ.

για κάθε κουμπί δες ποια θες να είναι ενεργά για να ενεργοποιηθεί κι αυτό

 

πχ στο από πάνω που λες

για να ενεργοποιηθει το 4, πρέπει να είναι ανενεργά τα 1 και 2

άρα πας στα actions και του 1 και του 2 και βάζεις όταν αλλάζει state να κοιτάει τι είναι το άλλο

αν  γίνει disable το 1 και το 2 είναι enabled δεν κάνει τίποτα

αν γίνει disable το 1 και το 2 είναι disabled ενεργοποιεί το 4

Δημοσ.

Το έφτιαξα αλλά με άλλο τρόπο. Έφτιαξα μια action μέθοδο η οποία καλείται από όλα τα switches και μέσα σε αυτή θέτω την κατάσταση του κάθε κουμπιού σαν λογικό ή όλων των δυνατών περιπτώσεων. ΠΧ

switch1.enabled = !((switch2.isON && switch3.isON) || (switch2.isON && switch5.isON))

Θα μπορούσα να το κάνω και με NSIndexSet αλλά δούλεψε έτσι και από απόδοση που το τσέκαρα είναι αρκετά καλό, άσχετα αν οι συνθήκες είναι 4 σειρές για το καθένα περίπου.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...