2011-05-10 49 views
3

//初始化页面控制以编程方式创建UIPageControl时出现问题?

UIPageControl *pageControl = [[UIPageControl alloc] init]; 
pageControl.frame = CGRectMake(110,5,100,100); 
pageControl.numberOfPages = 2; 
pageControl.currentPage = 0; 
[self.view addSubview:pageControl]; 

我试图以编程方式创建UIPageControl。我创建了新的基于视图的应用。其中,我在ViewControllers viewDidLoad中编写了这段代码,但它没有创建页面控件。当我在控制台中看到viewdidload被调用很多次。

+1

接受这样我会回答并确保您将页面控件添加到了正确的视图,并且不会落后于任何其他视图 – visakh7 2011-05-10 06:31:18

+0

您是否添加其他视图?首先注释掉所有的代码,然后添加pageControl。如果它还没有出现,其他控件是否显示? – Joe 2011-05-10 07:29:18

回答

2
[self.view addSubview:pageControl]; 

这行代码添加之前多了一个..

[self.view bringSubviewToFront:pageControl]; 

愿这一个帮助你..

+0

我试过所有的选择,但仍然没有得到。 – sumit 2011-05-10 07:22:39

+0

任何人都可以帮忙吗? – sumit 2011-05-10 07:25:21

+0

伙计,再增加一行 - [pageControl addTarget:self action:@selector()forControlEvents:UIControlEventValueChanged] .. – 2011-05-10 10:07:39

5

LMAO与这一个,因为我刚刚有同样的问题:) 如果您仍然有这个问题或任何其他人会努力尝试设置背景颜色就像

pageControl.backgroundColor = [UIColor redColor]; 

有趣的是,页面控件的默认颜色设置使它很难注意到,即清晰的白色视图:)

+1

哦,非白色背景确实揭示了页面控件!我几乎挠头秃!谢谢 – 2011-12-30 22:08:37

1

我有编程视图构建视图的问题,并发现最好的方法是构建它们一次方法Init,而不是ViewDidLoad方法。

1

如果您在白色背景上添加pageControl,它将不可见。添加临时边界只是为了确保它的存在

pageControl.layer.borderWidth = 0.5; 

如果它确实存在,调整色调的颜色

pageControl.pageIndicatorTintColor = UIColor.grayColor(); 
    pageControl.currentPageIndicatorTintColor = UIColor.blackColor(); 

如果它不存在,你可能做的事情错了,应该是这样的这样的:

var pageControl = UIPageControl(frame: CGRectMake(135, 230, 50, 20)) 
    pageControl.numberOfPages = 2; 
    pageControl.currentPage = 0; 
    pageControl.pageIndicatorTintColor = UIColor.grayColor(); 
    pageControl.currentPageIndicatorTintColor = UIColor.greenColor(); 
    self.view.addSubview(pageControl); 

当然,你还需要将其与相应的滚动视图/浏览量链接相应