我有一个滚动视图,必须显示一个大于可用显示区域的视图.
我想要轻松设计用户界面,而不必每次进行一些更改时上下移动嵌入式视图.
问题是可见区域外的所有内容在IB中都是不可见的.
我想要轻松设计用户界面,而不必每次进行一些更改时上下移动嵌入式视图.
问题是可见区域外的所有内容在IB中都是不可见的.
是否有任何切换或技巧让所有可见的IB?
解决方法
UPDATE
我已经发布了another solution here,我认为更简单和更好,并在故事板上工作.
原版的
使用适当的超级视图,位置和大小在笔尖中创建滚动视图.
接下来,通过将UIView拖出调色板并将其放入任何现有视图之外的工作区域中,创建一个完全独立的顶级UIView实例.在“属性”检查器中,将“大小”弹出窗口设置为“无”,并确保状态栏,顶栏和底栏都设置为无.这里有一个例子:
这个新的顶级视图将是您的内容视图.给你的视图控制器两个出口:scrollView和contentView:
@interface MyViewController @property (nonatomic,weak) IBOutlet UIScrollView *scrollView; @property (nonatomic,strong) IBOutlet UIView *contentView; @end
在笔尖中,将scrollView插座连接到滚动视图,并将contentView插座连接到内容视图.
在内容视图中构建内容视图层次结构.根据需要设置其大小 – 它可以大于320×480(只要您将其所有栏设置为无).
在视图控件的viewDidLoad中,将contentView添加为scrollView的子视图,并将scrollView.contentSize设置为contentView的大小:
@implementation MyViewController @synthesize scrollView = _scrollView; @synthesize contentView = _contentView; - (void)viewDidLoad { [super viewDidLoad]; [self configureScrollView]; } - (void)configureScrollView { CGSize size = self.contentView.bounds.size; self.contentView.frame = CGRectMake(0,size.width,size.height); [self.scrollView addSubview:self.contentView]; self.scrollView.contentSize = size; // If you don't use self.contentView anywhere else,clear it here. self.contentView = nil; // If you use it elsewhere,clear it in `dealloc` and `viewDidUnload`. }