iphone的pickerview看起来像国家选择功能

Posted

技术标签:

【中文标题】iphone的pickerview看起来像国家选择功能【英文标题】:pickerview for iphone that looks like country select feature 【发布时间】:2010-08-24 03:33:25 【问题描述】:

我想创建一个外观和工作方式类似于 itune 商店帐户的国家/地区选择字段的选择器。 这就是我要说的。

http://i38.tinypic.com/5p0w91.jpg

此选择器没有突出显示的行。它在所选行的前面标有“正确”标志。用户可以滚动此选择器,然后选择该行,以便“正确”符号将出现在新选择的行前面。 有人可以帮忙吗?

【问题讨论】:

【参考方案1】:

这可以使用带有自定义组件视图的选择器相对容易地完成。使用实例变量来跟踪您选择的行,并相应地更改标签的颜色。如果您想包含复选标记,则需要更进一步并使用 UIView 的自定义子类,而不是简单的 UILabel。

@interface ViewContainingPicker NSUInteger mySelectedRow; @end @implementation ViewContainingPicker // Init, Picker setup, etc - (UIPickerView *)myPickerView // Create picker, set mySelectedRow to NSNotFound mySelectedRow = NSNotFound; return myPickerView; - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view UILabel *label = (UILabel *)view; if (nil == label) UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(0, 0, PICKER_WIDTH, PICKER_ROW_HEIGHT)] autorelease]; label.text = @"Label for this row"; // Selected Row will be blue if (row == mySelectedRow) label.textColor = [UIColor blueColor]; else label.textColor = [UIColor blackColor]; return label; - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component // Just set selected component and reload, color will change in dataSource pickerView:viewForRow:forComponent:reusingView: mySelectedRow = row; [pickerView reloadComponent:component];

【讨论】:

【参考方案2】:

我不熟悉编码应用程序,但对于基于浏览器的 UI (Safari),您只需使用一个简单的下拉菜单:

<select>
<option>Country 1</option>
<option>Country 2</option>
...
<option>Country N</option>
</select>

猜测 iPhone SDK 中的等效项应该是一样的。

【讨论】:

以上是关于iphone的pickerview看起来像国家选择功能的主要内容,如果未能解决你的问题,请参考以下文章

如何在iphone中多次调用json url?

UIPickerView 选择指示器问题

如何根据另一个pickervew更改pickerview中的选择?

如何在iphone中以编程方式更改按钮文本

UIPickerView环绕Swift 2

没有从 PickerView 获取选定的值