Просто играйте с авто-макетом и UIScrollView. Что мне здесь не хватает? Это отображает синий scrollView в нижней части экрана, но я не вижу контент. Отладчик просмотра также не имеет права говорить об этом. Есть идеи?Автоматическая компоновка + UIScrollView и однострочный просмотр
//
// ViewController.m
// Fit
//
// Created by Adam Dahan on 2015-03-13.
// Copyright (c) 2015 Adam Dahan. All rights reserved.
//
#import "ViewController.h"
@interface ViewController()
{
UIScrollView *scrollView;
UIView *contentView;
}
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
[self createViews];
[self constrainScrollView];
[self constrainContentView];
}
- (void)createViews
{
#pragma Initialize a scrollView
scrollView = [[UIScrollView alloc] initWithFrame:CGRectZero];
scrollView.translatesAutoresizingMaskIntoConstraints = NO;
scrollView.backgroundColor = [UIColor blueColor];
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;
[self.view addSubview:scrollView];
#pragma Initialize a contentView for the scrollView
contentView = [[UIView alloc] initWithFrame:CGRectZero];
contentView.backgroundColor = [UIColor redColor];
contentView.translatesAutoresizingMaskIntoConstraints = NO;
[scrollView addSubview:contentView];
}
- (void)constrainScrollView
{
#pragma scrollView vertical constraints
NSArray *cns = [NSLayoutConstraint constraintsWithVisualFormat:@"V:[scrollView(40)]|"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(scrollView)];
[self.view addConstraints:cns];
#pragma scrollView horizontal constraints
cns = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[scrollView]|"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(scrollView)];
[self.view addConstraints:cns];
}
- (void)constrainContentView
{
#pragma contentView vertical constraints
NSArray *cns = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|[contentView]|"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(scrollView, contentView)];
[scrollView addConstraints:cns];
#pragma contentView horizontal constraints
cns = [NSLayoutConstraint constraintsWithVisualFormat:@"H:|[contentView]|"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(scrollView, contentView)];
[scrollView addConstraints:cns];
}
@end
Мне кажется, вам нужно установить размер содержимого: 'scrollView.contentSize ='. Обычно вы используете ограничения на scrollView, но не на своем представлении содержимого. Вы устанавливаете размер содержимого scrollView, и он обрабатывает остальные. –