Question

J'ai des positions calculées et des compensations sur le papier. J'ai le code écrit et débogué que je reçois les résultats escomptés. Cependant sur les choses iPhone Simulator se chevauchent d'environ 15 pixels.

Pour continuer mon débogage, je dois savoir où les objets sont exactement l'interface utilisateur sur l'écran.

associés au clavier de recherche contextuelle et le redimensionnement d'une UITableView entre UISearchBar statique et dynamique ajouté UITabBar (vue de table est intégrée dans l'un des onglets). Non, je vraiment ne veulent pas utiliser toutes les valeurs hardcoded rotation régulière et différentes tailles d'écran.

Comment puis-je trouver cela?

- (void)keyboardWasShown:(NSNotification*)aNotification
{
if (self.keyboardShown)
    return;

// Get keyboard dimensions
NSDictionary* info = [aNotification userInfo];
NSValue* aValue = [info objectForKey:UIKeyboardBoundsUserInfoKey];
CGSize kbSize = [aValue CGRectValue].size;
NSValue* endValue = [info objectForKey:UIKeyboardCenterEndUserInfoKey];
CGPoint endCenter = [endValue CGPointValue];

CGRect frame = myView.frame;
frame.size.height = endCenter.y - kbSize.height/2 - frame.origin.y;

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.2];

myView.frame = frame;

[UIView commitAnimations];

self.keyboardShown = YES;
}

... code juste au cas où il sommes des bugs évidentes, je ne vois plus ...

Était-ce utile?

La solution

Votre meilleur pari est probablement le convertPoint:toView: de UIView. Pour savoir où se trouve, utilisez une vue donnée:

CGPoint myPoint = [myView convertPoint:CGPointMake(0, 0) toView:((YourAppDelegate *)[[UIApplication sharedApplication] delegate]).window];
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top