iOS: UILabel в центре зрения - PullRequest
       18

iOS: UILabel в центре зрения

0 голосов
/ 15 августа 2011

У меня есть UISplitViewController, и я пытаюсь центрировать (по горизонтали и по вертикали) UILabel в правом контроллере вида.Когда он загружается в портретной ориентации, метка выглядит правильно, но если повернуть ее для альбомной ориентации, метка перестает центрироваться вертикально.Я использую:

CGSize size = self.view.frame.size;
UILabel *noResults = [[UILabel alloc] initWithFrame:CGRectMake(0, 40.0f, size.width, size.height)];
noResults.text = @"No people were found.";
noResults.textColor = [UIColor blackColor];
noResults.textAlignment = UITextAlignmentCenter;
noResults.backgroundColor = [UIColor clearColor];
noResults.textColor = [UIColor darkGrayColor];
noResults.font = [UIFont systemFontOfSize:16.0];
noResults.shadowColor = [UIColor whiteColor];
noResults.shadowOffset = CGSizeMake(0, 1);
noResults.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.noResultsLabel = noResults;
[self.view addSubview:noResultsLabel];
[noResults release];

Я думал, что он автоматически изменит свой размер, когда я использую маску авторазмера?

1 Ответ

1 голос
/ 15 августа 2011

Также следует указать, что поля являются гибкими, например:

 noResults.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleLeftMargin |  UIViewAutoresizingFlexibleRightMargin;

Используя этот код, вы получите кнопку, расположенную горизонтально. Если вы также хотите, чтобы он был расположен вертикально, также укажите UIViewAutoresizingFlexibleTopMargin и UIViewAutoresizingFlexibleBottomMargin.

...