我有一个UIPicker,上面有一个UILabel,用于更新显示当前选择。
当我第二次进入此视图时,UIPicker的选择位于我离开的最后一个单元格,但标签位于默认字符串上。我该怎么做才能让标签也出现在我最后离开的地方?
这是我正在使用的代码:
- (void)displayPicker
{
self.numberLabel.text = @"1 number";
}
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
self.numberButtonText = [NSString stringWithFormat:@"%@ number", [self.pickerArray objectAtIndex:row]];
self.numberLabel.text = self.numberButtonText;
}
答案 0 :(得分:0)
如果我认为是正确的,那你正在打电话
-(void)displayPicker
设置默认的numberLabel文本值(如self.numberLabel.text = @"1 number";
中所示)。
可能的原因是, 每次调用 - (void)displayPicker 时,视图会呈现给用户,但
- (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
不是。
您可能想要检查此类行为,方法是插入一些NSLog()
语句,然后使用以下内容对其进行更正:
- (void)displayPicker
{
self.numberLabel.text = [NSString stringWithFormat: @"%i number",
[self.numberPicker selectedRowInComponent: 0 ]];
}