[英]Scrollview not loading additional Images
我有一個UIView用作簡單的入門視圖。 我只顯示了n
張圖像,用戶可以在其中滑動。
唯一加載的圖像是第一個圖像“ OnBoard-1”。 當我調試添加到圖像視圖的內容時,其他圖像在那里。
我究竟做錯了什么?
。H
#import <UIKit/UIKit.h>
@interface OnBoardingView : UIView
- (void)setImages:(NSArray *)newImages;
@end
這是.m文件
#import "OnBoardingView.h"
@interface OnBoardingView () <UIScrollViewDelegate>
{
UIPageControl *pageControl;
NSArray *contentImages;
}
@property (nonatomic, retain) UIPageControl *pageControl;
@property (nonatomic, retain) NSArray *contentImages;
@end
@implementation OnBoardingView
@synthesize pageControl;
@synthesize contentImages;
- (id) initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) { }
return self;
}
#pragma mark - Override contentImages setter
- (void)setImages:(NSArray *)newImages {
if (newImages != self.contentImages) {
self.contentImages = newImages;
[self setup];
}
}
#pragma mark - Carousel setup
- (void)setup {
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.frame];
[scrollView setDelegate:self];
[scrollView setShowsHorizontalScrollIndicator:NO];
[scrollView setPagingEnabled:YES];
[scrollView setBounces:NO];
CGSize scrollViewSize = scrollView.frame.size;
for (NSInteger i = 0; i < [self.contentImages count]; i++) {
CGRect slideRect = CGRectMake(scrollViewSize.width * i, 0, scrollViewSize.width, scrollViewSize.height);
UIView *slide = [[UIView alloc] initWithFrame:slideRect];
[slide setBackgroundColor:[UIColor colorWithRed:0 green:0 blue:0 alpha:0]];
UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.frame];
[imageView setImage:[UIImage imageNamed:[self.contentImages objectAtIndex:i]]];
NSLog(@"Image named: %@", [self.contentImages objectAtIndex:i]);
[slide addSubview:imageView];
[scrollView addSubview:slide];
}
UIPageControl *tempPageControll = [[UIPageControl alloc] initWithFrame:CGRectMake(0, scrollViewSize.height - 20, scrollViewSize.width, 20)];
[self setPageControl:tempPageControll];
[self.pageControl setNumberOfPages:[self.contentImages count]];
[scrollView setContentSize:CGSizeMake(scrollViewSize.width * [self.contentImages count], scrollViewSize.height)];
[self addSubview:scrollView];
[self addSubview:self.pageControl];
}
#pragma mark - UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat pageWidth = scrollView.frame.size.width;
int page = floor((scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
[self.pageControl setCurrentPage:page];
}
@end
您初始化imageView
與的框架scrollView
,這不是正確的是在任何情況下,可能是你的問題的原因。
順便說一句:
您的屬性處理看起來有些奇怪(為什么要合成而不是僅使用常規屬性?),為什么newImages != self.contentImages
按指針比較數組( newImages != self.contentImages
)?
如果要直接在分頁中顯示圖像,則可以分配頁數計數,然后將滑動手勢(左右)應用於imageview。基於左右滑動,可以更改imageview的圖像。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.