我有一个UITableView,其中包含8个项目(静态)。现在当我点击8个单元格中的每一个时,每个单元格包含1个单独的控件。
例如:
单击单元格1:使用UIPickerView的新视图。
单击单元格2:使用UIDatePicker的另一个视图
单击单元格3:使用UITextField再创建一个视图。 。 ......等等。
我是否可以使用仅包含所有控件的.xib 文件,但是当我单击该单元格时,只有该控件可见且所有其他控件都被隐藏。
此外,我希望那些控件值应返回Table Cell的detailText。
如何重用一个.xib文件?我可以使用不同的笔尖名称调用xib文件并检入initwithnibname方法??
请你能给我一个很好的例子......
答案 0 :(得分:0)
基本上我找到的唯一方法是设置条件语句,其中只显示特定条件下的某些控件,并隐藏其他控件并在其他条件下类似。
我认为这是您可以根据同一XIB中的单元格选择显示不同控件的唯一方法。
希望这会对你有所帮助。
修改强>
您可以使用标志(在应用程序委托中声明)并根据所选单元格在didSelectRowAtIndexPath方法中设置标志。
现在在PickerView的viewDidLoad上,您可以检查相同的标志,它可以让您知道单击了哪个单元格。
希望这会对你有所帮助。
修改-1 强>
您可以使用NSUserDefaults,如图所示..
对于Cell-1
[[NSUserDefaults standardUserDefaults] setValue:@"Cell-1" forKey:@"CELLSELECTED"];
对于Cell-2:
[[NSUserDefaults standardUserDefaults] setValue:@"Cell-2" forKey:@"CELLSELECTED"];
对于Cell-3:
[[NSUserDefaults standardUserDefaults] setValue:@"Cell-3" forKey:@"CELLSELECTED"];
依旧......
希望这对你有所帮助
答案 1 :(得分:0)
我有一个在Prefs屏幕上使用通用nib文件的好主意,所以我有一个“开关笔尖”,一个“文本字段笔尖”和一个“文本笔尖”。我将控件分配给cellForRowAtIndexPath
以编程方式查看控制器属性。然而,由于一些神秘的原因,这最终无法运作。
我最终为每个细胞设计了一个自定义笔尖。有用。然后,在cellForRowAtIndexPath
我必须确定加载了哪个单元格,将控件初始化为正确的值。