У меня есть группа 'rowviews', которую я хочу поместить в вертикальное представление прокрутки. Я создал это представление rowView как отдельный бит в IB. Они имеют размер 1024/200 (ipad). Теперь я хочу поместить их один за другим в родительский UIScrollView. Я попробовал простую [vScroll addSubview: rowView], но это ставит их в верхнюю часть eachother (я сделал прозрачность rowview, чтобы проверить это). Итак, я начал обманывать границы каждого rowview безрезультатно. Это мой код. Примечание «self.yExtentSoFar» инициализируется 0. Представьте код ниже под названием для каждой строки:UIView setBounds UIScrollView ад!
MyRowView *rowView = [[MyRowView alloc] init];
float calculatedWidth = 0;
// minus nav bar
float calculatedHeight = 0;
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
UIInterfaceOrientation orientation = [UIDevice currentDevice].orientation;
if (orientation == UIInterfaceOrientationPortrait){
// iPad
calculatedWidth = 768.0;
calculatedHeight = 960.0;
}else{
// iPad
calculatedWidth = 1024.0;
calculatedHeight = 704.0;
}
[self.vScroll addSubview: rowView.view];
[rowView.view setBounds:CGRectMake(0, self.yExtentSoFar, calculatedWidth,200)];
[self.vScroll setContentSize:CGSizeMake(calculatedWidth, yExtentSoFar+200)];
self.yExtentSoFar += 200;
Итак, прежде чем я попытался настройки ограничивающей rowviews появились возвышаться друг от друга. Понятно, я думаю. Когда я устанавливаю границы, представление второй строки не появилось под первым, как ожидалось, вместо этого мне нужно вытащить vScroll, а второй появился ВЫШЕ первого экрана!
Может ли кто-нибудь указать на то, где я ошибаюсь? Большое спасибо,
Майк
Просто мысль, х и у являются 0,0 в верхнем левом углу правой? –
на iPhone для просмотров, да. –
Хорошо, тогда тогда почему значение y 200 положило бы его отрицательным? –