我有UILabel *lblTest
。並且我在Interface Builder
中將文本設置爲「test」標籤。如何找到在Interface Builder中設置的UILabel文本?
現在我通過代碼設置lblTest文本爲「新測試」。
所以,現在我想再次獲得我已經在Interface Builder
中設置的「測試」文本。
有沒有辦法巧妙地做到這一點?
注意:我不想做數行代碼.... 期待單線解決方案。
在此先感謝。
我有UILabel *lblTest
。並且我在Interface Builder
中將文本設置爲「test」標籤。如何找到在Interface Builder中設置的UILabel文本?
現在我通過代碼設置lblTest文本爲「新測試」。
所以,現在我想再次獲得我已經在Interface Builder
中設置的「測試」文本。
有沒有辦法巧妙地做到這一點?
注意:我不想做數行代碼.... 期待單線解決方案。
在此先感謝。
你要明白,在你Interface Builder中值將由代碼代碼重寫你自己寫。
所以,一旦你的代碼已經改變了標籤,你能恢復的Interface Builder的的值,如:
NSString* lblTestString = lblTestString.text;
//now set your value from the code
[lblTest setText:@"new Test"];
//and revert it to what was already in the interface builder
[lblTest setText:lblTestString];
不過它沒有真正任何意義..
我已經考慮過最後一種做法。但我期待單線解決方案。 –
我想你想要的東西就像「撤消」功能。 沒有特殊的方式來完成你描述的事情。 一件事你可以做的是:
存放在一個NSString變量中的第一個字符串設置標籤文本爲「新測試」
NSString *oldString = lblTest.text;
變化從代碼的文本之前。
self.lblTest.text = @"new test";
如果需要,請將其更改回舊字符串。
self.lblTest.text = oldString;
如果設置在您的viewdidload中通過代碼標記文本「新文本」,然後它將始終顯示「新文本」,除非您將標籤文本標爲「測試」或註釋您的行 –
您用「新測試」覆蓋「測試」,並希望找到它以前設置的「測試」?你需要返回多少次迭代?你可以使用.placeholder作爲初始字符串嗎? – Bejmax
@:Bejmax我期待着這樣的代碼「[NSString stringWithFormat:@」%@「,(NSString *)[[NSBundle mainBundle] objectForInfoDictionaryKey:@」CFBundleVersion「]]」 –