1

我有一个 UIScrollView,我在其中添加了一个 TimeLineView(a UIView) 的子视图。为了显示;最初我只是做了同样的事情,TimeLineView 显示没有任何问题。但现在我想在 UIScrollView 上方有一个 UIView,我可以在其中显示有关时间线的一些信息。

我是否需要降低 UIScrollView 的高度,以便 UIView 适合其上方的空间?如果是,我会怎么做?

如果还有其他方法......那么请告诉我。我所有的初始实现如下:

在.h

@property (nonatomic, readonly) UIScrollView *scrollView;
@property (nonatomic, readonly) TimeLineView *timelineView;

@synthesize scrollView = scrollView;
@synthesize timelineView = timelineView;

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        [self prepareCustomView];
    }
    return self;
}

- (id)initWithCoder:(NSCoder *)decoder 
{    
    self = [super initWithCoder:decoder];
    if (self) {
        [self prepareCustomView];
    }
    return self;
}

- (void)prepareCustomView {
    // Initialization code

    // Add main scroll view
[self addSubview:self.scrollView];

    // Add timeline view inside scrollview
[self.scrollView addSubview:self.timelineView];


}


- (UIScrollView *)scrollView
{
    if (!scrollView) {
        scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0f, TOP_BAR_HEIGHT, self.bounds.size.width, self.bounds.size.height-TOP_BAR_HEIGHT-FOOTER_HEIGHT)];
        scrollView.contentSize = CGSizeMake(self.bounds.size.width,TIMELINE_HEIGHT);
        scrollView.scrollEnabled = TRUE;
        scrollView.backgroundColor =[UIColor whiteColor];
        scrollView.alwaysBounceVertical = TRUE;
    }
    return scrollView;
}

在此先感谢您的帮助。

4

1 回答 1

0

是的,您必须更改 y 轴并通过 UIView 的高度降低滚动视图的高度。如果滚动视图刚好低于 UIView,则必须按如下方式更改滚动视图的框架:

scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0f, UIViewFrame.size.height+UIViewFrame.origin.y, self.bounds.size.width, self.bounds.size.height-TOP_BAR_HEIGHT-FOOTER_HEIGHT-UIViewFrame.size。高度)];

其中 UIViewFrame 是您的 UIView 的框架。

于 2012-05-30T06:35:33.437 回答