如何在多 UIPICKERVIEW 中配置“DidSelectRow”?
Posted
技术标签:
【中文标题】如何在多 UIPICKERVIEW 中配置“DidSelectRow”?【英文标题】:How I Can Configure "DidSelectRow" In a Multi- UIPICKERVIEW? 【发布时间】:2012-06-02 05:29:31 【问题描述】:好的,伙计们,这是我的问题,我正在用 uipickerview 为电子学生做一个电阻计算器,但我不知道如何配置“DidSelectRow”的方法。
这个电阻计算器的想法是,当用户选择她的电阻的颜色(行)时,uipickerview 会根据颜色进行操作并将结果扔到 UILABEL 中。
为了计算电阻值,将颜色 1 的值与颜色 2 的值相乘,然后乘以颜色 3 的值,类似这样。
This is the image of the values to calculate the resistor value
我不知道如何为行赋值,然后将它们连接起来,然后相乘,最后放入 UILABEL。
请有人帮助我!我会加入我的应用程序的学分!请:D
这是我的 .h
#import <UIKit/UIKit.h>
@interface Resistenciacalc : UIViewController
<UIPickerViewDelegate,UIPickerViewDataSource>
@property (strong, nonatomic) IBOutlet UIPickerView *ColorPicker;
@property (strong, nonatomic) NSArray*ColorData;
这是我的.m
#import "Resistenciacalc.h"
@interface Resistenciacalc ()
@end
@implementation Resistenciacalc
@synthesize ColorData = _ColorData;
@synthesize ColorPicker;
- (void)viewDidLoad
[super viewDidLoad];
// Do any additional setup after loading the view.
_ColorData = [[NSArray alloc] initWithObjects:@"Negro",@"Marron",@"Rojo",@"Naranja",@"Amarillo",@"Verde",@"Azul",@"Violeta", nil];
#pragma mark - UIPickerview Methods
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
return 4;
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
return _ColorData.count;
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
return [_ColorData objectAtIndex:row];
/*- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
【问题讨论】:
【参考方案1】:如果你把这一行: NSLog(@"Row is:%d Component is:%d",row,component);在 pickerView:didSelectRow:inComponent 方法中,您会看到它为您提供了行和组件(列)。行号将为您提供该颜色的值,因为例如,“黑人”在第 0 行,黑色代表电阻配色方案中的 0。列号将告诉您使用什么值作为乘数来获得电阻值。像这样的东西应该接近你需要的东西。我已经在控制器 .h 文件中声明了属性 firstDigit 和 secondDigit(作为整数)和乘数(作为双精度数)。我添加了一个按钮,在用户选择颜色后进行计算:
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
switch (component)
case 0:
self.firstDigit = row ;
break;
case 1:
self.secondDigit = row ;
break;
case 2:
self.multiplier = pow(10,row);
break;
default:
break;
-(IBAction)calculateValue:(id)sender
int value = (self.firstDigit *10 + self.secondDigit)* multiplier;
NSLog(@"%d Ohms",value);
【讨论】:
谢谢!这么多,我做了一些修改,但是,你给了我这样做的想法,比很多!,我会把你放在我的应用程序的学分中;)谢谢:!以上是关于如何在多 UIPICKERVIEW 中配置“DidSelectRow”?的主要内容,如果未能解决你的问题,请参考以下文章
如何在多平台 Android 模块中配置 Kotlin jvmTarget?
如何在多租户环境中自动选择配置的 SAML 身份提供程序以使用 Spring SAML 进行 SSO
在多模块 SDK Android 库项目中配置 proguard
尝试使用 UIScrollView 创建自定义水平 UIPickerView - 如何像在 UIPickerView 中一样淡出边缘?