Как получить UIView для наложения UIScrollView в качестве нижнего колонтитула - PullRequest
0 голосов
/ 28 сентября 2011

У меня есть UIScrollView с изображением, которое должно быть масштабируемым. Я хочу иметь «нижний колонтитул» с черным (непрозрачным) фоном и белым текстом. Я хотел, чтобы это было исправлено как нижний колонтитул. Он будет непрозрачным, чтобы вы могли видеть изображение за ним.

Я создал содержащий UIView для прокрутки и нижнего колонтитула. Я могу получить представление прокрутки меньше, чем фрейм приложения, и иметь нижний колонтитул внизу, заполняя дополнительное пространство, но, очевидно, я не вижу изображение за нижним колонтитулом.

Я также попытался поместить UIScrollView и UIView (нижний колонтитул) в контейнер и расположить их соответствующим образом, но в этом случае я даже не вижу нижний колонтитул. Есть идеи?

Код, который я получил до сих пор (выполняется в viewDidLoad контроллера представления):

CGRect appFrame = [[UIScreen mainScreen] applicationFrame];
UIView* view = [[UIView alloc] initWithFrame:appFrame];
view.backgroundColor = [UIColor blackColor];
CGRect scrollViewFrame = CGRectMake(0.0, 0.0, view.frame.size.width, view.frame.size.height - 100);

UIScrollView* scrollView = [[UIScrollView alloc] initWithFrame:scrollViewFrame];
[scrollView setCanCancelContentTouches:NO];
scrollView.clipsToBounds = YES;
scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;

[scrollView addSubview:imageView];
[scrollView setContentSize:CGSizeMake(imageView.frame.size.width, imageView.frame.size.height)];

scrollView.minimumZoomScale = 0.7;
scrollView.maximumZoomScale = 5;
scrollView.delegate = self;
[scrollView setScrollEnabled:YES];

UIView* textView = [[UIView alloc] initWithFrame:CGRectMake(0.0, scrollViewFrame.size.height, appFrame.size.width, 100)];
// Red for testing purposes
textView.backgroundColor = [UIColor colorWithRed:1 green:0 blue:0 alpha:0.5];

[view addSubview:scrollView];
[view addSubview:textView];

self.view = view;

Ответы [ 2 ]

1 голос
/ 28 сентября 2011

Я предполагаю, что под "изображением" вы имеете в виду, что в представлении прокрутки есть UIImage, и вы хотите видеть его в полупрозрачном представлении нижнего колонтитула.

В этом случае вы не должны размещать представления друг под другом, а только нижний колонтитул поверх представления прокрутки. Вы можете убедиться, что он на вершине, позвонив bringSubviewToFront или используя [containerView insertSubview:footer atIndex:0]; вместо addSubview:.

Другим предостережением может быть то, что вы называете свое мнение view. Может быть какое-то непредсказуемое поведение в отношении того, какое это представление, поэтому, возможно, лучше назвать его как-нибудь еще, а затем присвоить его self.view.

1 голос
/ 28 сентября 2011

У меня есть множество UIScrollViews с небольшим представлением без прокрутки внизу или вверху.В большинстве случаев у меня нет никаких совпадений, и они просто сидят рядом.Я создаю их все в InterfaceBuilder и назначаю их IBOutlets.

...