我有關於Nib和UISegmentedControls的最佳實踐類型的問題。從UISegmentedControl更改視圖
我有一個包含帶3個按鈕的UISegmentedControl的nib文件。切換時,每個窗口的主要部分都會顯示不同的視圖。
一切工作正常,但我懷疑我的方法是有缺陷的,並想知道如果有人可以建議我這樣做的意思是做到這一點。
目前在NIB我有3個UIViews被覆蓋在彼此的頂部,然後在.m文件我修改每個UIViews .hidden隱藏和顯示一個我感興趣的
- (IBAction)segmentAction:(id)sender
{
if([sender selectedSegmentIndex] == 0)
{
[self.view1 setHidden:NO];
[self.view2 setHidden:YES];
[self.view3 setHidden:YES];
}
else if([sender selectedSegmentIndex] == 1)
{
[self.view1 setHidden:YES];
[self.view2 setHidden:NO];
[self.view3 setHidden:YES];
}
else if([sender selectedSegmentIndex] == 2)
{
[self.view1 setHidden:YES];
[self.view2 setHidden:YES];
[self.view3 setHidden:NO];
}
}
一切都「有效」,但是nib文件是一種編輯的痛苦,因爲您無法輕鬆「關閉」其他UIViews,因此我總是在畫布上選擇錯誤的元素。此外,IB在信息對話框中抱怨:「該視圖與其兄弟姐妹之一重疊」。
我應該採取什麼方法,因爲我希望所有的視圖都在InterfaceBuilder中進行佈置。我應該有4個筆尖文件嗎?如果是這樣的話,我應該如何在segmentControl被按下時加載它們?你可以指示我的任何示例代碼?
感謝
你能澄清你的意思嗎?使3個獨立的UIView對象,但不要將它們添加到視圖層次結構。你的意思是'通過將每個視圖從庫拖動到標題爲YourNib.nib或YourXib.xib的窗口來創建3個視圖。 – 2014-11-18 15:33:20