1

私はTimeLineView(UIView)であるサブビューを追加しているUIScrollViewを持っています。最初は同じことをしただけで、TimeLineView は問題なく表示されました。しかし今、タイムラインに関する情報を表示できる UIScrollView のすぐ上に UIView が必要です。

UIView がその上のスペースに収まるように、UIScrollView の高さを下げる必要がありますか? はいの場合、どうすればいいですか?

他に方法があれば・・・教えてください。私の最初の実装はすべて次のとおりです。

.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 に答える