В моем приложении я создаю контроллер представления со смесью UILabel
и UITextview
, которые хотят прокручиваться, потому что текст является динамическим, а также превышает размер экрана по вертикали.
В настоящее время у меня есть Scrollview, который имеет подвиды, как показано ниже. Представления создаются в Xcode 4.3 Storyboard.
UILabel1(произнести заголовок)
UITextView1 (динамический текст любого размера)
UILabel2 (второй заголовок)
UITextView2 (динамический текст любого размера)
и так далее.
Проблема в
Когда UITextView1
имеет больше контента, он перекрывается с UILabel2
, чего я не хочу.
Я хотел бы иметь UILabel1
поверх scrollView и UITextView1
под UILabel1
. UILabel2
ниже UITextView1
и так далее.
Что я должен сделать, чтобы достичь этого?
РЕДАКТИРОВАТЬ
В раскадровке
![введите здесь описание изображения][1]
В симуляторе
![введите здесь описание изображения][2]
Спасибо за помощь ребята. Очень признателен.
Код
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
[scrollView setScrollEnabled:YES];
[self.view addSubview:cockTailNameLabel];
[self.view insertSubview:txtIngredients belowSubview:cockTailNameLabel];
[self.view insertSubview:scrollView belowSubview:cockTailNameLabel];
//[scrollView]
[self.cockTailNameLabel setText:self.passcockTailName];
[_txtUse setText:self.passUse];
[_txtUse setEditable:NO];
[_txtUse setUserInteractionEnabled:NO];
CGRect useFrame = _txtUse.frame;
useFrame.size.height = _txtUse.contentSize.height;
_txtUse.frame = useFrame;
[txtIngredients setText:self.passIngredients];
[txtIngredients setEditable:NO];
[txtIngredients setUserInteractionEnabled:NO];
CGRect ingredientFrame = txtIngredients.frame;
ingredientFrame.size.height = txtIngredients.contentSize.height;
txtIngredients.frame = ingredientFrame;
[txtRecipe setText:self.passReceipe];
[txtRecipe setEditable:NO];
[txtRecipe setUserInteractionEnabled:NO];
CGRect recipeFrame = txtIngredients.frame;
recipeFrame.size.height = txtRecipe.contentSize.height;
txtRecipe.frame = recipeFrame;
[scrollView insertSubview:_txtUse belowSubview:cockTailNameLabel];
[scrollView insertSubview:titleIngredients belowSubview:_txtUse];
[scrollView insertSubview:txtIngredients belowSubview:titleIngredients];
[scrollView insertSubview:btnReceipe belowSubview:txtIngredients];
[scrollView insertSubview:btnHome belowSubview:txtIngredients];
[scrollView insertSubview:txtRecipe belowSubview:btnHome];
[scrollView insertSubview:btnfacebookShare belowSubview:txtRecipe];
[scrollView insertSubview:btnTwitterShare belowSubview:txtRecipe];
/*[scrollView addSubview:_txtUse];
[scrollView addSubview:titleIngredients];
[scrollView addSubview:txtIngredients];
[scrollView addSubview:btnReceipe];
[scrollView addSubview:btnHome];
[scrollView addSubview:txtRecipe];
[scrollView addSubview:btnfacebookShare];
[scrollView addSubview:btnTwitterShare];*/
[scrollView setContentSize:CGSizeMake(320, 1000)];
NSLog(@"RecipeName :%@ ",passcockTailName);
}
UIScrollView
как этого добиться... будет ли это работать? 08.08.2012viewDidLoad
, если содержимое не изменится, либо избегайте += (просто установите значение напрямую, напримерa.frame.size.width = 500
или что-то в этом роде), либо сначала установите высоту по умолчанию, а затем используйте +=. 13.08.2012