2011-07-03 36 views
0

我正在寫一個iPhone應用程序,它具有許多需要用戶輸入一堆數據的UITextFields。我想要一個簡單的「刪除」工具,允許用戶放棄他們放入多個字段的任何數據。如何以編程方式刪除UITextField的內容?

我一直在爲這個問題奮鬥了幾天。我似乎無法找到到達單個文本字段並更改文本的方法。無論我嘗試什麼,我的應用都會向我拋出錯誤。

+0

是的,我在IB中創建了字段 – Chris

+0

您是否將IBOutlets製作爲文本字段? – jburns20

回答

0

有解決這個的幾種方法。

您可以編寫代碼來逐個擦除它們。爲此,您爲每個人創建一個IBOutlet,併爲其text屬性指定一個空字符串。如果你只有幾個領域,那是最簡單的。如果你有更多,它不是很好。

您可以使它們成爲普通容器視圖的所有子節點並遍歷其子視圖。這樣,你只需要連接一個IBOutlet

您可以遍歷整個視圖層次結構並清空所有找到的文本字段。

另一種方法,蘋果沒有很好的記錄,是使用IBOutletCollection。這樣,您可以將所有文本字段分配給一個IBOutletCollection並循環。這可能是最簡單,最直接的方式。

+0

剛剛從觀看新變形金剛電影回來......當女孩建議去看動作片,你不會說不! :)我使用了你描述的IBOutletCollection方法,它使用奇蹟和一行代碼。我聲明瞭一個數組,並將所有文本字段鏈接到IB中。我只是在操作表中引用數組,並將其中一個按鈕設置爲[inputData setValue:(nil)forKey:@「text」]。簡單,當你知道如何!謝謝 :) – Chris

2

你可以只使用指定標記屬性界面生成器的序列標籤給每個文本框,然後得到的文本框這樣

UITextField *txtf = (UITextField*)[self.view viewWithTag:aTagValue]; 

txtf.text = @""; or nil; 
相關問題