Xcode 4.6.1 iOS 6 utilizzano storyboardè possibile Segue da un UITableViewCell su un UIView ad un'altra vista
Il mio problema è questo
Ho un UITableView con celle prototipo dinamici su un UIView in un UIViewController (che è incorporato in un controller di navigazione) e voglio passare da una cella specifica a un'altra vista
(Prima che qualcuno suggerisca che dovrei usare un UITableViewController, ho altre cose su UIView, quindi io Sono impostato in questo modo per un motivo.)
Ora io non sono sicuro di come fare per creare la segue
Se mi trascino dal prototipo UITableViewCell per creare un segue, tutte le cellule generate chiamano automaticamente il la segue - quando ho bisogno unico a farlo. Questo è un comportamento normale e vorrei ovviare a questo se usassi un UITableViewController creando il seguito trascinando da UITableViewController e chiamando [self performSegueWithIdentifier: .... dal mio didSelectRowAtIndexPathMethod in modo che solo la cella specifica che voglio eseguire questo segue lo inneschi .
Non ho un UITableViewController in questo caso - solo la mia UITableView su un UIView che fa parte di una sottoclasse UIViewController
Ho giocato in giro e ho appena scoperto che non riesco a trascinare dal UITableView - Non ti permette di farlo, quindi era un deadend.
La mia unica scelta che sembrava a sinistra per me è stato quello di trascinare dal UIViewController
Così ho provato e, naturalmente, XCode tiri su un errore sulla linea segue eseguire mi dice che ho ... Nessuna interfaccia visibile per 'LocationTV' dichiara il selettore performSegueWithIdentifier. LocationTv è la mia sottoclasse tableview.
Qual è il modo corretto per tentare di chiamare la nuova vista in questa situazione
Grazie
Simon
My tableview è già il proprio UITableViewDelegate. (Ho 4 diverse visualizzazioni di tabella che ho usato un UISegmentedCntrol per cambiare le proprietà nascoste di on e off in modo che ne venga visualizzato solo uno alla volta. - è uno di quei tableview che devono chiamare la nuova vista). Questo significa che è necessario spostare tutte le risorse delegate da UITableView su UIViewController su cui è seduto? – SimonTheDiver
Quindi hai creato classi UITableView specializzate. Queste classi devono avere un modo per accedere a ViewController in cui sono in esecuzione o è necessario creare un'implementazione simile a quella proposta dall'altra risposta. Vorrei andare per semplicità e creare una proprietà (chiamiamola 'viewController') sulle sottoclassi di UITableview che contengono un riferimento a ViewController. In 'didSelectRowAtIndexPath:' puoi chiamare '[self.viewController performSegueWithIdentifier: identificatore]'. La proprietà 'viewController' dovrebbe essere impostata in' viewDidLoad' del tuo controller di visualizzazione. – allprog
Ho definito un protocollo (con metodo per chiamare performSegue) all'interno di mytableView.Ho reso la mia sottoclasse UIViewContoller conforme ad essa. Simile al danypata suggerito. Lavorato. La tua idea sembra più semplice e voglio provarla. Ho importato la classe UIViewController - #import "MultiTableHoldingView.h" nella sottoclasse UItableView ma quando ho provato a dichiararlo nell'interfaccia della mia sottoclasse tableView- @property (nonatomic, strong) MultiTableHoldingView * theParentViewController; -i errori get2: la proprietà con attributo retain (o strong) deve essere disattivata tipo di oggetto e nome di tipo sconosciuto "MultiTableHoldingView". idee? – SimonTheDiver