Ios 是否可以在UIScrollView上放置UIPageControl?
你好,我整天都在绞尽脑汁。我有大约5个月的iOS经验。我试图做的是将Ios 是否可以在UIScrollView上放置UIPageControl?,ios,iphone,xcode,Ios,Iphone,Xcode,你好,我整天都在绞尽脑汁。我有大约5个月的iOS经验。我试图做的是将UIPageControl视图置于UIScrollView之上。这是我的密码 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. //self.scrollView = [[UIScrollView alloc] initWithFrame:[[
UIPageControl
视图置于UIScrollView
之上。这是我的密码
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
//self.scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0,[self window_width], [self window_height])];
[self.scrollView setContentSize:CGSizeMake([self window_width], [self window_height])];
[self.scrollView setPagingEnabled:YES];
[self.scrollView setScrollEnabled:YES];
[self.scrollView setShowsHorizontalScrollIndicator:NO];
[self.scrollView setShowsVerticalScrollIndicator:NO];
[self.scrollView setDelegate:self];
self.pageControl = [[FXPageControl alloc] initWithFrame:CGRectMake(0, 0, [self window_width], [self window_height])];
self.pageControl.dotShape = FXPageControlDotShapeCircle;
self.pageControl.selectedDotShape = FXPageControlDotShapeCircle;
self.pageControl.numberOfPages = [self.childViewControllers count];
self.pageControl.selectedDotSize = 30.0;
self.pageControl.dotSize = 30.0;
self.pageControl.defersCurrentPageDisplay = YES;
self.pageControl.dotSpacing = 50.0;
self.pageControl.backgroundColor = [UIColor whiteColor];
[self.view addSubview:self.pageControl];
[self.view addSubview:self.scrollView];
}
我试着在
pageControl
上交换添加ScrollView
的子视图,结果ScrollView
消失了 您可以将视图空间分别划分为pageview和scrollview,也可以在scroll视图中添加pageview控制器并调整scrollview的内容高度
您的视图相互重叠。您可以通过以下代码将UIScrollView上方的UIPageControl添加到self.view中
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
//self.scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, [self window_width], [self window_height])];
[self.scrollView setContentSize:CGSizeMake([self window_width], [self window_height])];
[self.scrollView setPagingEnabled:YES];
[self.scrollView setScrollEnabled:YES];
[self.scrollView setShowsHorizontalScrollIndicator:NO];
[self.scrollView setShowsVerticalScrollIndicator:NO];
[self.scrollView setDelegate:self];
self.pageControl = [[FXPageControl alloc] initWithFrame:CGRectMake(0, 0, [self window_width], [self window_height])];
self.pageControl.dotShape = FXPageControlDotShapeCircle;
self.pageControl.selectedDotShape = FXPageControlDotShapeCircle;
self.pageControl.numberOfPages = [self.childViewControllers count];
self.pageControl.selectedDotSize = 30.0;
self.pageControl.dotSize = 30.0;
self.pageControl.defersCurrentPageDisplay = YES;
self.pageControl.dotSpacing = 50.0;
self.pageControl.backgroundColor = [UIColor whiteColor];
[self.view addSubview:self.scrollView];
[self.view addSubview:self.pageControl];
}
此代码将UIScrollView添加到self.view,然后将UIPageControl添加到self.view
或者你可以加上
[self.view将子视图带到前面:self.pagecontrol]
我做到了。我不知道这是否是一个好的做法。无论如何,下面的代码将UIPageControl置于UIScrollView之上
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
self.scrollView = [[UIScrollView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
[self.scrollView setPagingEnabled:YES];
[self.scrollView setScrollEnabled:YES];
[self.scrollView setShowsHorizontalScrollIndicator:NO];
[self.scrollView setShowsVerticalScrollIndicator:NO];
[self.scrollView setDelegate:self];
[self.scrollView setNeedsDisplay];
self.pageControl = [[FXPageControl alloc] initWithFrame:CGRectMake(0, 90, [self window_width], 50)];
self.pageControl.dotShape = FXPageControlDotShapeCircle;
self.pageControl.selectedDotShape = FXPageControlDotShapeCircle;
self.pageControl.numberOfPages = [self.childViewControllers count];
self.pageControl.selectedDotSize = 30.0;
self.pageControl.dotSize = 30.0;
self.pageControl.defersCurrentPageDisplay = YES;
self.pageControl.dotSpacing = 50.0;
self.pageControl.backgroundColor = [UIColor whiteColor];
self.pageControl.selectedDotColor = UIColorFromRGB(0x54b97f);
self.pageControl.dotColor = [UIColor darkGrayColor];
[self.view addSubview:self.pageControl];
[self.view addSubview:self.scrollView];
}
听起来我正在寻找的解决方案是将视图的空间分开。我现在的问题是,我该如何用代码来实现这一点?你能指出一个划分空间的例子吗?谢谢你的回答。尽管我要做的是将UIPageControl视图的位置放在UIScrollView的顶部。因此,在页面控制点上不是默认的ScrollView外观。我希望这些点位于滚动视图的顶部。