2012-01-13 10 views
0

Applesのタイマーアプリと同じように、「0」を選択することはできません。少なくとも1時間または1分を選択する必要があります。彼らはすべての道全体で「0」を選択した場合、ここで私がする必要がどのような..私はピッカーのためのテキストフィールドの書式を設定していますかUIPickerに最低1フィートの値を設定しますか?

//Formats the textfield based on the pickers. 
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component { 

NSString *result = [feetArray objectAtIndex:[feetPicker selectedRowInComponent:0]]; 

result = [result stringByAppendingFormat:@"%@ft", [feetArray objectAtIndex:[feetPicker selectedRowInComponent:1]]]; 
result = [result stringByAppendingFormat:@" %@", [inchArray objectAtIndex:[inchesPicker selectedRowInComponent:0]]]; 
result = [result stringByAppendingFormat:@"%@", [inchArray objectAtIndex:[inchesPicker selectedRowInComponent:1]]]; 
result = [result stringByAppendingFormat:@" %@in", [fractionArray objectAtIndex:[fractionPicker selectedRowInComponent:0]]]; 

RiseTextField.text = result; 
} 

ですが、私は足が自動的ピッカー上の1に行きたいです。私は3つのピッカーを1つのビューとして作っています。足のための2つのコンポーネント、インチのための2つのコンポーネント、そして分数のための1つのコンポーネント。 10f 09 1/16inのようなテキストフィールドに表示されます。

+0

あなたのピッカーには足用のコンポーネントとインチ用のコンポーネントの2つのコンポーネントがありますか?あなたは0フィートと0インチを許可したくないのですか? – iphonedev23

+0

はい、3つのピッカーが1つのビューとして作成されています。足のための2つのコンポーネント、インチのための2つのコンポーネント、そして分数のための1つのコンポーネント。 10f 09 1/16inのようなテキストフィールドに表示されます。 – Jason

答えて

1

基本的にあなたが何をしたいか、このです:(0はゼロ値が含まれている行を想定)

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ 
    if (([feetPicker selectedRowInComponent:0] == 0)&& 
     ([feetPicker selectedRowInComponent:1] == 0)&& 
     ([inchesPicker selectedRowInComponent:0] == 0)&& 
     ([inchesPicker selectedRowInComponent:1] == 0)&& 
     ([fractionPicker selectedRowInComponent:0] == 0)){ 
     // All values zero 
     [feetPicker selectRow:1 
        inComponent:1 
        animated:YES]; 
     return; 
    } 
    // Handle valid value 
} 

resultためNSMutableStringを使用することを検討してサイドノートでは。そして、すべての行に新しいNSStringを作成するのではなく、[result appendFormat:@"....と呼んで、あなたが持っているものを修正することができます。

+0

私は3つのピッカーを1つのビューとして作成しました。足のための2つのコンポーネント、インチのための2つのコンポーネント、そして分数のための1つのコンポーネント。 10f 09 1/16inのようなテキストフィールドに表示されます。それはコードがより意味をなさないように助けますか? – Jason

+0

はい、実際はそうです。 – NJones

+0

申し訳ありませんが、私は1フィート以下の値を許可したくないと言っていたはずです。足が足りない場合は、計算時にアプリがクラッシュします。 – Jason

関連する問題