memanipulasi ketinggian UIScrollView untuk menambahkan UIView lain di atasnya

Saya memiliki UIScrollView di mana saya menambahkan subview yaitu TimeLineView(a UIView).Untuk tujuan menampilkan; awalnya saya hanya melakukan hal yang sama dan TimeLineView ditampilkan tanpa masalah. Tapi sekarang saya ingin memiliki UIView tepat di atas UIScrollView di mana saya dapat menampilkan beberapa informasi tentang timeline.

Apakah saya perlu mengurangi tinggi UIScrollView agar UIView pas dengan ruang di atasnya? Jika ya, Bagaimana saya melakukannya?

Jika ada cara lain... tolong beri tahu saya. Semua implementasi awal saya adalah sebagai berikut:

in .h

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

in .m

@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;
}

Terima kasih sebelumnya atas bantuannya.


person keepsmiling    schedule 30.05.2012    source sumber
comment
Saya rasa Anda tidak perlu mengatur ketinggian UIView agar sesuai dengan tampilan gulir. Silakan periksa ketinggian UIView di Interface Builder. Klik pada Bingkai Aplikasi. Buka Inspektur Atribut. Periksa apakah bilah status tidak ada atau tidak. Jika tidak maka setel ke tidak ada. Periksa nilainya di pemeriksa ukuran. Atur ketinggiannya sesuai dengan itu. Saya harap ini bisa membantu sedikit.   -  person Akhilesh Sharma    schedule 30.05.2012
comment
terima kasih sudah membalas dulu :) tapi yang saya inginkan adalah UIView lain di atas UIScrollView yang telah saya implementasikan. Awalnya scrollview menempati layar penuh simulator iphone. Sekarang saya hanya ingin UIView lain di atasnya.   -  person keepsmiling    schedule 30.05.2012
comment
apakah Anda menambahkan UIView secara terprogram.   -  person Akhilesh Sharma    schedule 30.05.2012
comment
ya..Saya menambahkan UIView secara terprogram.   -  person keepsmiling    schedule 30.05.2012
comment
maka ya, Anda harus mengatur ketinggian secara manual.   -  person Akhilesh Sharma    schedule 30.05.2012


Jawaban (1)


Ya, Anda harus mengubah sumbu y dan mengurangi tinggi tampilan gulir dengan tinggi UIView Anda. Anda harus mengubah bingkai tampilan gulir Anda sebagai berikut jika tampilan gulir tepat di bawah UIView:

scrollView = [[UIScrollView alokasi] 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. tinggi)];

di mana UIViewFrame adalah bingkai UIView Anda.

person Nuzhat Zari    schedule 30.05.2012