从图片和评论中的描述看来,问题在于自定义视图没有得到任何布局约束来确定如何调整子视图的大小。
下面的一段代码(直接在浏览器中输入,所以要小心)应该提供必要的约束来将子视图的边框“粘合”到自定义视图。
[self.customView addSubview: self.blockSubView.view];
self.blockSubView.view.frame = self.customView.bounds;
NSView *blockSubView = self.blockSubView.view;
NSDictionary *viewsDictionary = NSDictionaryOfVariableBindings(blockSubView);
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"|[blockSubView]|"
options:0
metrics:nil
views:viewsDictionary];
constraints = [constraints arrayByAddingObjectsFromArray: [NSLayoutConstraint constraintsWithVisualFormat:@"V|[blockSubView]|"
options:0
metrics:nil
views:viewsDictionary]];
[self.customView addConstraints: constraints];
文档中有更多关于此的内容。注意调试技巧 - 非常有用,以至于不可或缺。