У меня есть метод, который устанавливает высоту UIScrollView и UITextView на основе содержимого UITextView. Я понял, что размер как textview, так и scrollview изменяется правильно, когда метод вызывается из viewWillAppear, но не из viewDidLoad (размер textview не изменяется правильно из viewDidLoad, но есть scrollview).
//In View1
-(void) setHeight
{
NSLog(@"Set height");
CGRect frame = descriptionTextView.frame;
frame.size.height = descriptionTextView.contentSize.height;
descriptionTextView.frame = frame;
if([[UIScreen mainScreen] bounds].size.height == 568) //iPhone 4inch
{
totalHeight = 380+frame.size.height;
[self.mainScrollView setContentSize:CGSizeMake(320,totalHeight)];
}
else{
totalHeight = 250+frame.size.height;
[self.mainScrollView setContentSize:CGSizeMake(320,totalHeight)];
}
}
Проблема в том, что я создал настраиваемое меню панели вкладок с UIView, которое является заполнителем. В первый раз, когда я выполняю переход, он работает, но не если я вернусь и снова нажму вкладку, поскольку viewWillAppear и viewDidAppear не вызываются. почему не называются? Как заставить их позвонить?
//In CustomTabBarController
-(void) selectTab{
self.isLoaded = YES;
self.activity_indicator.hidden = YES;
if ([self.selectedButton isEqualToString: @"view1"])
[self performSegueWithIdentifier:@"sg_view1" sender:self];
else if ([self.selectedButton isEqualToString:@"view2" ])
[self performSegueWithIdentifier:@"sg_view2" sender:self];
else if ([self.selectedButton isEqualToString:@"view3" ])
[self performSegueWithIdentifier:@"sg_view3" sender:self];
}