Я обновляю свое приложение с iOS6 до iOS7, и у меня возникают некоторые проблемы с макетом UIViewControllers. В iOS6 я смог динамически изменять размер моего UITextViews, получив свойство contentSize textView, а затем установив его свойство frame. Я бы сделал все изменения размера в методе viewWillAppear таким образом, чтобы вид был изменен до того, как он был виден. Теперь в iOS7 он не работает. Единственный способ, которым работает свойство contentSize, - это установить метод viewDidAppear. Я ненавижу это, потому что он заставляет просмотр прыгать после того, как он уже виден. Кто-нибудь понял, как решить эту проблему?IOS7 получить UITextView contentSize перед представлением методаDidAppear?
Вот мой код, который больше не работает в iOS7:
-(void)viewWillAppear:(BOOL)animated
{
self.textView = [[UITextView alloc]initWithFrame:CGRectMake(5, 0, 310, 0)];
self.textView.text = @"Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.";
[self.view addSubview:self.textView];
CGRect textViewframe;
textViewframe = self.textView.frame;
textViewframe.size.height = [self.textView contentSize].height;
self.textView.frame = textViewframe;
}
просто напишите этот код в видеDidLoad, а затем посмотрите, что происходит –
viewDidLoad вызывается перед просмотромWillAppear и не будет работать. Я ищу решение до вызова 'viewDidAppear'. – DJSK
Как насчет 'viewWillLayoutSubviews'? –