【问题标题】:Make UIView stick to the top in a full width horizontal UIScrollView使 UIView 在全宽水平 UIScrollView 中保持在顶部
【发布时间】:2016-10-19 03:03:16
【问题描述】:

我有一个UIScrollView,其中包含全宽图像。我希望在每个时间点都在UIScrollView 之上添加一个UIView。最初输出是正确的,我在UIScrollView 上得到了UIView。但是当我向右滚动时,UIView 与第一张图像一起向左移动。我怎样才能让UIView 始终保持在最前面?我需要实施任何其他方法吗?

-(void)setSalonImagesScrollView{

int x = 0;

for (int i = 0; i < [self.imageList count]; i++) {

    CGFloat xOrigin = i * self.view.frame.size.width;
    UIImageView *salImg =[[UIImageView alloc] initWithFrame:CGRectMake(xOrigin,0,320,194)];
    NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:self.imageList[i]]];

    salImg.image = [UIImage imageWithData:imageData];
    salImg.tag = i;
    [self.salonImgCarousel addSubview:salImg];
    [self.salonImgCarousel insertSubview:self.navSubView belowSubview:self.navSubView];

    x += salImg.frame.size.width;
}

self.salonImgCarousel.contentSize = CGSizeMake(x, self.salonImgCarousel.frame.size.height);

[_salonImgCarousel setShowsHorizontalScrollIndicator:NO];
[_salonImgCarousel setDelegate:self];}

【问题讨论】:

  • self.view 上添加视图,而不是在 scrollView 上。

标签: ios objective-c iphone uiscrollview


【解决方案1】:

如果您希望每次都将UIView 显示在屏幕顶部,那么最好的方法是在UIWindow 上添加UIView

例如

[window addSubView:myView];

也看How can access window in my view controller

【讨论】:

    【解决方案2】:

    试试这个

    -(void)setSalonImagesScrollView{
    int x = 0;
    
    for (int i = 0; i < [self.imageList count]; i++) {
    
    CGFloat xOrigin = i * self.view.frame.size.width;
    UIImageView *salImg =[[UIImageView alloc] initWithFrame:CGRectMake(xOrigin,0,320,194)];
    NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:self.imageList[i]]];
    
    salImg.image = [UIImage imageWithData:imageData];
    salImg.tag = i;
    [self.view addSubview:salImg];
    [self.salonImgCarousel insertSubview:self.navSubView belowSubview:self.navSubView];
    
    x += salImg.frame.size.width;
    }
    
    self.salonImgCarousel.contentSize = CGSizeMake(x, self.salonImgCarousel.frame.size.height);
    
    [_salonImgCarousel setShowsHorizontalScrollIndicator:NO];
    [_salonImgCarousel setDelegate:self];}
    

    并发布你的困难

    亲切的问候

    考什克

    【讨论】:

      【解决方案3】:

      这里的问题是,您将 imageView 添加到 ScrollView。您将添加到 ScrollView 的所有内容都将滚动。您必须将 imageView 添加到 View 而不是 ScrollView。

      [self.view addSubview:salImg];

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-01
        • 1970-01-01
        • 2017-02-04
        • 1970-01-01
        • 2016-10-15
        • 1970-01-01
        相关资源
        最近更新 更多