我正在向用户控制器添加自定义视图(MainComponentView
)。现在在MainComponentView
我还添加了自定义视图(FirstPartView
),FirstPartView
的高度应该小于MainComponentView
的高度。我的问题是,当我将MainComponentView
的高度降低到FirstPartView
高度时,它仍然显示FirstPartView
的整个视图。
// MainComponentView
self.aComponent = [[MainComponentView alloc] initWithFrame:CGRectMake(212, 0, 600, 550)
withStartDate:startDate
endDate:endDate];
[self.view addSubview:self.aComponent];
并将自定义视图添加到MainComponentView
:
self.aFirPartView = [[FirPartView alloc] initWithFrame:CGRectMake(0, self.frame.origin.y, self.frame.size.width, HEIGHT_OF_COMPONENT1) withStartDate:startDate endDate:endDate];
[self addSubview:self.aFirPartView];`
答案 0 :(得分:0)
尝试:
self.aComponent.clipsToBounds = YES;
告诉视图它不应该绘制任何超出其框架的子视图的任何部分。
答案 1 :(得分:0)
子视图坐标是相对于超级视图而不是窗口的,所以当你这样做时:
self.aFirPartView = [[FirPartView alloc] initWithFrame:CGRectMake(0, self.frame.origin.y, self.frame.size.width, HEIGHT_OF_COMPONENT1) withStartDate:startDate endDate:endDate];
[self addSubview:self.aFirPartView];`
您创建的视图向下偏移MainComponentView
距离屏幕顶部的距离。
请尝试使用此帧值:
CGRectMake(0, 0, self.bounds.size.width, HEIGHT_OF_COMPONENT1)
这会将子视图定位在MainComponentView
的左上角,并指定宽度和高度。