2009-09-04 9 views
3

Je ne pense pas que ce que je fais est inhabituel, mais je vais certainement obtenir un résultat inhabituel.Comment éviter les flashs bizarres?

J'ai un UITableView normal, et quand l'une des cellules est touchée, je pousse un viewController sur la pile de navigationController. Rien que je n'ai pas fait 100 fois avant.

Ce viewController particulier est un autre UITableViewController, avec une section et une cellule. Cette cellule contient un UITextView. C'est un écran "Enter your notes" totalement générique. Cet écran définit UITextView comme premier répondeur dans viewDidAppear. Le problème est que ... le nouveau clavier glisse sur l'écran, sur le nouveau viewController ... Je reçois quelque chose qui ressemble étrangement à un "flash de la barre de défilement" seulement il est sur le côté gauche de l'écran . L'effet est que j'ai un point flash dans le coin supérieur gauche de mon écran. Je peux reproduire ceci dans le simulateur et l'appareil.

weird dot http://matthewcave.com/images/weird_dot.png

Je code postal, mais je me demandais si quelqu'un avait vu auparavant, et avait une réponse rapide à la façon dont je pourrais le faire disparaître. Si je devais poster du code, que voudriez-vous voir? La publication de l'ensemble de la classe viewController semble être une surcharge, mais je n'ai littéralement aucune idée de l'origine du problème.

Merci beaucoup.

+0

que je viens de rencontrer ce problème, le poste de forum à http://forums.macrumors.com/showthread.php?t=763919 donne une solution, d'hériter de UIViewController et de faire votre propre point de vue de la table, mais J'aimerais savoir pourquoi cela se passe. – Boz

+0

Je n'ai jamais résolu ça. Je n'ai pas vu votre article référencé ci-dessus, mais c'est exactement ce que j'ai fait. Refactorisé l'ensemble UITableViewController dans un UIViewController qui a regardé comme une vue de la table. Si je le rencontre à nouveau, je reviendrai, éditerai la question avec plus d'infos, et j'essaierai à nouveau de trouver une solution. – mmc

+0

Ce serait génial. Je veux garder les choses simples, donc sous-classer UITableViewController est la chose la plus facile à faire; c'est dommage qu'il y ait quelques bugs. – Boz

Répondre

0

Je me demande si c'est un en-tête de table ou de section de très petite taille?

+0

il clignote et s'en va, il ressemble exactement à la "barre de défilement flash" mais je ne peux pas comprendre pourquoi il est sur la gauche. – mmc

+0

Y at-il une petite table 0px large sur le côté gauche quelque part? :-) Peut-être que si vous mettez la table avec un CGRectZero? – mahboudz

0

J'ai trouvé une solution pour cela tout en essayant désespérément de trouver un travail. J'ai eu l'idée de changer la couleur de la barre de défilement en blanc (au moins temporairement, pour la rendre moins visible). Mais j'ai trouvé que pas de mater si elle est réglée sur blanc ou noir, tant que la couleur est forcée, vous ne verrez pas le point. J'aimerais avoir une explication supplémentaire, mais c'est de loin la solution la plus simple.

//configure tableview behavior 
self.tableView.rowHeight = 178.0f; 
self.tableView.indicatorStyle = UIScrollViewIndicatorStyleWhite; //hide the scrollbar dot 
self.tableView.scrollEnabled = NO; 
Questions connexes