2012-09-04 109 views
1

我正在查看一个iPhone应用程序,其中有几个由UINavigationController控制的ViewControllers。如何以编程方式显示UISegmentedControl?

某处内心深处ViewControllers之一是创建一个视图,该视图正试图跳出一个

UISegmentedControl *segmentedControl 

了在其本身上,像这样:

[self.window addSubview:segmentedControl]; 

“自我”是UIView的一种特殊形式,并设置控件的框架

segmentedControl.frame = someFrame; 

由于某些原因,控件i没有显示在当前视图之上。如果这项工作,以及如果它应该,什么是最可能的麻烦原因?

+0

你的意思是一个UINavigationController而不是NavigationViewController?如果是这样,它应该控制UIViewController,而不是UIViews。 –

+0

显示您实际创建细分的位置。 –

+0

另外,self.window是什么类型的对象?它的位置在哪里? UISegmentedControl与您所谈论的专业视图相关的位置在哪里?请给我们更多的代码。 –

回答

1

当你说self是一个UIView的专门形式我猜你是指一个UIView自定义子类。

如果从这个视图中添加UISegmentedControl,要做到以下几点:

[self addSubview:segmentedControl]; 

你设置它的框架相对于它的上海华盈,所以如果你想要在左上角你会做:

segmentedControl.frame = CGRectMake(0.0f, 0.0f, someWidth, someHeight); 
+0

有两个错误,你的回答让我解决了这两个问题:框架被设置(几乎完全)在屏幕可见部分之外,并且分段控件(可能)没有在视图顶部结束。 – blueberryfields

+0

很高兴知道!快乐的编码。 –