2012-09-04 131 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

很高興知道!快樂的編碼。 –