2013-06-27 56 views
0

好吧,我正在摸索如何實現這一目標,所以我想把它展示給全世界。如何根據用戶的輸入更改ScrollView中的UIImages

基本上,客戶需要的是根據用戶是選擇「是」還是「否」選項來切換視圖的一部分的方式。我的問題是我將如何去完成這個?

請允許我提供一些更多詳細信息。在這個特定的應用程序駐留一個窗體(具有自定義文本字段,選擇器視圖,開關,滑塊和其他用戶界面元素的形式),這些都已經在故事板中進行了佈局,然後進行編程以實現功能。在此表格的大約3/4處,用戶將會看到「Yes」或「No」選項以及每個按鈕。訣竅是,每個視圖都需要有其自己的UI元素(文本字段,滑塊和按鈕),只有在選擇其中一個選項時纔會出現,並且只有在「是」或「否」選項(它需要的所有元素留下,留在同一個地方,並保存用戶輸入的信息)。

一個例子:如果用戶點擊「是」按鈕,在它下面出現3行文本後跟UIButton和Text Field。在此之下,會出現導航到其他ViewController的其他導航按鈕。但是,如果用戶點擊「否」按鈕,那麼我剛纔提到的所有項目都需要消失,而需要出現一組不同的文本字段,標籤,按鈕和背景圖像。導航按鈕還需要鏈接到其他ViewControllers,與「是」選項中的按鈕不同。在這一點上,我向客戶建議,一個植根於屏幕底部的導航控制器將是一個好主意,但他們強烈反對,並希望導航選項是「動態」(或根據哪個選項進行更改被按下,「是」或「否」)。

我曾經想過試圖通過簡單地使用每個按鈕加載在不同的圖像編程,這工作得很好。結果變成雙重的; 1)當我嘗試加載其他UI元素時,我無法將它們放在故事板中,因此它們出現在零星的位置,並且2)所有這些都需要包含在滾動視圖中,這也需要根據「是」和「否」選項下需要多少空間更改其大小。自然地,「是」部分比「否」部分小3倍。

那麼,關於如何使這一切發生的任何想法?在這一點上我應該提到客戶端也不希望簡單地導航到不同的ViewController,他們非常希望所有這些發生在同一個屏幕上。我希望我有一些代碼可以分享,但我們仍然處於這個項目的「設計」方面,因此,很少編寫代碼。任何建議將非常感謝,因爲我以前從來沒有被這種類型的構建請求迎接。

回答

1

創建一個UINavigationController對象和設置您的視圖(說yourViewController)在您的是和否按鈕爲根視圖控制器存在如下

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:yourViewController]; 

現在,當用戶按下YES /上yourViewController視圖比你沒有按鈕可以以編程方式創建所有控件文本字段和按鈕,並根據您的視圖設置框架。像

UITextField *txtField = [[UITextField alloc] initWithFrame:CGRectMake(enter frame accordinglly)]; 
[self.view addSubview:txtField]; 

同樣,您可以添加更多的按鈕或任何其他控件的控件。之後

當用戶按下任意鍵(上,你希望其他視圖來顯示),你可以在navController推動另一種觀點如下

[navController pushViewController:otherViewController animated:YES]; 

你需要跟蹤navController在你的yourViewController

,當你想從navController

[navController popViewControllerAnimated:YES]; 

PS回去剛剛流行的觀點:請警惕的內存釋放以及。

+0

感謝這個解決方案suraj,今天晚些時候我會給它一個去,併發回我的結果。 – Slider257

+0

再次感謝suraj,這不完全是我在這個特定實例中尋找的解決方案(我只想更改ViewController內容的一部分,而不是整個ViewController),但此解決方案在測試時工作得很好。欣賞它! – Slider257

+0

謝謝@ Slider257,我真的很高興我的答案能夠幫助你以任何方式解決問題。 – Suryakant

相關問題