我遇到了将xib加载到UIScrollView
中的奇怪问题。
如果我制作推断大小的xib并将其加载到滚动视图中,它看起来很好:http://monosnap.com/image/vZ4EDOAlKLeWNZAqWsVSq87FUvJdHX.png(箭头显示了xib的中心)。
但是如果我将size属性设置为 freeform 位置或尝试以编程方式设置frame.size
,则xib会水平折叠到20 px,完全忽略所需的大小:xib设置:http://monosnap.com/image/4SdHEBmrSn1MrnXCMjr88fNn5reCvb.png(灰色方块是滚动视图区域。)
我正在加载xib的方式是常规的:
@implementation LearningViewController
- (void)viewDidLoad {
self.cardView = [[[NSBundle mainBundle] loadNibNamed:@"CardView" owner:self options:nil] lastObject];
[self.cardScrollView addSubview:self.cardView];
}
也许我会忽略一些关键的滚动视图行为概念?
答案 0 :(得分:0)
如果有人在努力解决同样的问题。如果您尝试加载小于滚动视图的xib,看起来会发生这种情况。你可以通过先添加一个空的子视图然后将你的xib放入这个子视图来解决这个问题:
UIView *content = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width*3, 300)];
[self.cardScrollView addSubview:content];
self.cardView = [[[NSBundle mainBundle] loadNibNamed:@"CardView" owner:self options:nil] lastObject];
[content addSubview:self.cardView];