UIScrollView强制内部视图在第一次触摸后上升

时间:2015-08-02 20:13:14

标签: ios uiscrollview

我有一个UIScrollView来平移一些照片。加载视图后,当我触摸页面(在任何地方)时,它使我的内部视图(UIImageView)上升。 这是加载时的照片(绿色是内部UIView,黑色是UIScrollView)。

拳头载入视图: Image when it loads

触摸后: After the first click

以下是生成它的代码:

将视图添加到滚动视图:

- (void)loadPage:(NSInteger)page {

CGRect frame = self.scrollView.bounds;

    frame.origin.x = frame.size.width * page;
    frame.origin.y = 0;

    // 3
    NSURL *eventImageURL = [NSURL URLWithString:[[self.pageImages objectAtIndex:page] imageURL]];
    UIImageView *newPageView = [[UIImageView alloc]init];
    [newPageView setImageWithURL:eventImageURL placeholderImage:nil usingActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];

    newPageView.contentMode = UIViewContentModeScaleAspectFit;
    newPageView.frame=frame;
    newPageView.tag=page;
    newPageView.userInteractionEnabled=NO;
    newPageView.backgroundColor=[UIColor greenColor];
    newPageView.clipsToBounds=YES;

    [self.scrollView addSubview:newPageView];
}

滚动视图设置:

- (void)viewDidLoad {
[super viewDidLoad];

CGSize scrollableSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height);
[self.scrollView setContentSize:scrollableSize];

// Do any additional setup after loading the view from its nib.

// 1

NSInteger pageCount = self.pageImages.count;

// 2
self.pageControl.currentPage = 0;
self.pageControl.numberOfPages = pageCount;

// 3
self.pageViews = [[NSMutableArray alloc] init];
for (NSInteger i = 0; i < pageCount; ++i) {
    [self.pageViews addObject:[NSNull null]];
}

self.scrollView.minimumZoomScale=1.0;
self.scrollView.maximumZoomScale=2.0;
self.scrollView.clipsToBounds=YES;
self.scrollView.contentSize=CGSizeMake(1280, 960);
self.scrollView.tag=10;


[self.scrollView setUserInteractionEnabled:YES];
[self.scrollView setMultipleTouchEnabled:YES];

}

1 个答案:

答案 0 :(得分:0)

找到它。 在viewdidload上我设置:

self.automaticallyAdjustsScrollViewInsets = NO;

一切正常。