2013-02-26 9 views
0

У меня есть представление, которое я установил в конструкторе интерфейса, я добавил scrollView в IB, и теперь я пытаюсь добавить еще один scrollView, который будет только частью родительского scrollView. на проспекте детской прокрутки Я пытаюсь использовать ярлык динамического размера, который будет находиться под неподвижной меткой.Добавление scrollView в другой scrollView не работает

UIScrollView *ingredientsScrollView = [[UIScrollView alloc] 
             initWithFrame:CGRectMake(20, 287, 280, 300)]; 
ingredientsScrollView.scrollEnabled = YES; 
UILabel *ingredientsLabel = [[UILabel alloc] initWithFrame:CGRectMake(230, 310, 70, 21)]; 
ingredientsLabel.text = @"מצרכים"; 

UILabel *baseLabel = [[UILabel alloc] initWithFrame:CGRectMake(230, 325, 70, 21)]; 
baseLabel.text = @"חומרים לבסיס"; 

UILabel *baseIngredientsLabel = [[UILabel alloc] init]; 

    CGSize maximumLabelSize = CGSizeMake(296,9999); 

CGSize expectedLabelSize = [baseIngredientsString sizeWithFont:baseIngredientsLabel.font 
            constrainedToSize:maximumLabelSize 
             lineBreakMode:baseIngredientsLabel.lineBreakMode]; 

//adjust the label the new height. 
CGRect newFrame = baseIngredientsLabel.frame; 
newFrame.size.height = expectedLabelSize.height; 
baseIngredientsLabel.frame = newFrame; 

//i added text to the string in some way 
baseIngredientsLabel.text = baseIngredientsString; 

[ingredientsScrollView addSubview:ingredientsLabel]; 
[ingredientsScrollView addSubview:baseIngredientsLabel]; 

[scrollView addSubview:ingredientsScrollView]; 

Когда я запустил приложение, дочерний scrollView не добавлен, ни метки?

Любая помощь будет оценена по достоинству.

+0

Вы проверили, что все переменные не ноль? – Liron

+0

Да, все кажется ОК. – oridahan

+0

Что такое рамка для scrollView? Добавляется ли scrollView в представление? –

ответ

0

Ребенка scrollview добавляется нормально, это просто, что вы не заметили его, поскольку он имеет белый фон, а родительский прокрутка также имеет белый фон. Кроме того, вы не установили свойство contentSize для любого из scrollViews, чтобы они не прокручивались. Ваши метки смещены из текущего вида, и вы не можете прокручивать их.

Попробуйте немного такого рода вещи, чтобы проанализировать ваши взгляды:

self.scrollView.contentSize = CGSizeMake(400,9999); 
ingredientsScrollView.contentSize = CGSizeMake(400,9999); 
self.scrollView.backgroundColor = [UIColor redColor]; 
ingredientsScrollView.backgroundColor = [UIColor blueColor]; 
+0

Проблема была решена, когда я устанавливал contenSize для компонентовScrollView. – oridahan

0

Несколько вещей, чтобы попытаться в первую очередь.

Просьба приложить свои ingredientsScrollView прямо к виду. Если он не отображается, у вас, вероятно, есть проблема с вызовом метода. Это также проверит, будут ли ваши метки добавлены в ingrediantsScrollView.

Кроме того, в отношении вашего UILabel с динамическим размером. Почему вы не просто используете [baseIngredientsLabel sizeToFit]? Это намного проще, чем то, что вы сейчас пытаетесь сделать с фреймом.

+0

размерToFit действительно хорошо. Благодарю. – oridahan

Смежные вопросы