如何在 iPad 中正确设置 UIPageControl 大小
Posted
技术标签:
【中文标题】如何在 iPad 中正确设置 UIPageControl 大小【英文标题】:How to set UIPageControl size correctly in iPad 【发布时间】:2012-12-27 23:03:54 【问题描述】:我的 iPad 应用程序中有一个 UIScrollView 和一个 UIPageControl。我已将它们放在 .xib 文件中。我的应用仅支持横向视图。
我尝试在代码中设置宽度和高度,但它看起来总是不对。我有一个非常简单的案例,将 5 个页面设置为不同的颜色背景,以确保我的页面看起来正确,但它们从来没有,无论我做什么,颜色都会重叠。
所以我的问题是:
-
如何在代码中正确设置大小(viewDidLoad?)?
是否需要同时设置 UIScrollView 和 UIPageControl 的大小?
提前致谢。
【问题讨论】:
【参考方案1】:请检查下面的代码。在这里,我已经使用代码完成了所有工作。希望对你有帮助。
int numberOfPages = 5 ;
UIScrollView *scrollQuestionList = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.frame.size.width, self.view.frame.size.height - 70.0)];
scrollQuestionList.contentSize = CGSizeMake(numberOfPages*scrollQuestionList.frame.size.width, scrollQuestionList.frame.size.height);
[self.view addSubview:scrollQuestionList];
scrollQuestionList.backgroundColor = [UIColor clearColor];
scrollQuestionList.delegate = self;
scrollQuestionList.showsHorizontalScrollIndicator = NO;
scrollQuestionList.pagingEnabled = YES;
CGFloat x = 0.0;
tagForBtns = 0;
for (int i = 1; i <= numberOfPages; i++)
UIView *contentView = [[[UIView alloc] initWithFrame:CGRectMake(x, 0.0, scrollQuestionList.frame.size.width, scrollQuestionList.frame.size.height)] autorelease];
if (i%2 == 0)
[contentView setBackgroundColor:[UIColor grayColor]];
else
[contentView setBackgroundColor:[UIColor cyanColor]];
[scrollQuestionList addSubview:contentView];
x+= scrollQuestionList.frame.size.width;
UIPageControl *pageCntrl = [[UIPageControl alloc] initWithFrame:CGRectMake(0.0, self.view.frame.size.height - 70.0, self.view.frame.size.width, 25.0)];
pageCntrl.numberOfPages = numberOfPages;
pageCntrl.backgroundColor = [UIColor clearColor];
[pageCntrl addTarget:self action:@selector(clickedPageControl:) forControlEvents:UIControlEventValueChanged];
pageCntrl.currentPage = 0;
[self.view addSubview:pageCntrl];
【讨论】:
【参考方案2】:当您使用 xib 时,为什么要使用代码设置宽度和高度。还有我认为由于自动调整大小而面临的问题,只需尝试修改这个希望它会起作用。
【讨论】:
it' 不管我如何在 IB 或代码中设置宽度和高度,它仍然不起作用。自动调整大小也没有解决它:(以上是关于如何在 iPad 中正确设置 UIPageControl 大小的主要内容,如果未能解决你的问题,请参考以下文章
如何在 iPhone / iPad 的应用程序中正确使用保留和释放
过渡到 iOS 7:在 iPad 上查看的 jQuery/iPhone Web 应用程序的正确视口设置
iPad 上的 MPMediaPickerController 方向