2013-04-12 1 views
0

Вот ситуация.UIScrollView contentSize проблема ограничения автоопределения

У меня есть UIScrollView, который использует автозапуск, который успешно приспосабливается к экрану, когда я его вращаю, моя проблема связана с содержимым scrollView, которое не настраивается.

ScrollView - это красная часть.

1 2

Вот мой код:

-(void)preparePromotions 
{ 

CGRect frameViewPromotions = [self getPossibleFrame]; 


    frameViewPromotions.origin.x = 10.0f; 
    frameViewPromotions.origin.y = 10.0f; 
    if (!_promotionsViewController) 
    { 
     _promotionsViewController = [[PromotionsViewController alloc] init]; 
    } 
    _promotionsViewController.view.frame = frameViewPromotions; 
    _promotionsViewController.margin = 2.0f; 
    _promotionsViewController.diameterPageController = 10.0f; 
    _promotionsViewController.marginPageController = 15.0f; 
    _promotionsViewController.frameContentView = frameViewPromotions; 

    [self addChildViewController:_promotionsViewController]; 

_promotionsViewController.view.translatesAutoresizingMaskIntoConstraints = NO; 
[self.view addSubview:_promotionsViewController.view]; 
[self createCosntraintWithView:_promotionsViewController.view];  

} 


-(void)createCosntraintWithView:(UIView *)subview 
{ 
NSDictionary *views = NSDictionaryOfVariableBindings(subview); 

[self.view addConstraints: 
[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-10-[subview]-10-|" 
             options:0 
             metrics:nil 
              views:views]]; 

[self.view addConstraints: 
[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-40-[subview]-50-|" 
             options:0 
             metrics:nil 
              views:views]]; 

} 

ответ

1

содержание В Scrollview в не регулирует, потому что вы используете фреймы там, вместо AutoLayout. Если вы переписываете свои фреймы в ограничения AutoLayout, они будут настраиваться при его повороте. Всегда старайтесь избегать смешивания AutoLayout и кадров, так как вы можете получить непредсказуемые результаты.