私はピッカーコントロールを1つのビューにそれぞれ2つのアウトレットがあります。いずれかが選択されると、同じメソッドが呼び出されます。どのピッカーコントロールがデリゲートを呼び出したかをどのように区別する必要がありますか?1つのUIViewに2つのピッカーコントロールを置く
ピッカーのフレームサイズを1つのビューに収めるにはどうすればよいですか?ビュー内の
おかげで、
アミット
私はピッカーコントロールを1つのビューにそれぞれ2つのアウトレットがあります。いずれかが選択されると、同じメソッドが呼び出されます。どのピッカーコントロールがデリゲートを呼び出したかをどのように区別する必要がありますか?1つのUIViewに2つのピッカーコントロールを置く
ピッカーのフレームサイズを1つのビューに収めるにはどうすればよいですか?ビュー内の
おかげで、
アミット
UILableにビューを設定し、フォントサイズやadjustsFontSizeToFitWidth設定:私は右互いの上に2つのピッカーを入れ、その後であるかを選択するUISegmentedControlを使用して大きな成功を収めてきた
UILabel *myView;
myView = [[[UILabel alloc] initWithFrame:myFrameRect] autorelease];
myView.adjustsFontSizeToFitWidth = YES;
return myView;
二ピッカーは醜いクレイジーに聞こえます。 2つのコンポーネント(つまり列)を持つピッカーを持つことは実際には効果がありませんか?
しかし、UIPickerViewDelegate
で定義されているすべてのメソッドの最初のパラメータは、あなたを呼び出したピッカーです。 IBOutletを各UIPickerViewに接続している場合は、このパラメータをそれらのアウトレットと比較して、どのパラメータから呼び出されたかを把握できるはずです。このような何かを:
IBOutlet UIPickerView *fooPicker;
IBOutlet UIPickerView *barPicker;
// ...
- (NSString *)pickerView:(UIPickerView *)pickerView
titleForRow:(NSInteger)row forComponent:(NSInteger)component {
if (pickerView == fooPicker)
return [NSString stringWithFormat @"Foo row %d", row];
else
return [NSString stringWithFormat @"Bar row %d", row];
}
あなたの代表者として別のオブジェクトに接続するために、クリーンであるかもしれない、しかし、1つのビューに2つのピッカーで、「クリーン」はおそらくとにかくあなたのためのオプションがありません。
をそれぞれの.hiddenプロパティを設定することによって、表示されます。
2つのピッカーを使用する代わりに、1つのピッカーとすることができます。 ピッカー・コントローラーをビュー内に置くことができます。ユーザーがボタンをタッチするとビューが上がり、ピッカーから選択してビューを削除します。これによりメインビューコントローラーのスペースが減少します。
問題は、両方のプリッカーに表示されるデータが調整する必要があるためです。だから私たちは、テキストを "..."で切り捨てると、ピッカー内のテキストのフォントサイズを減らすことはできないと思いますか? – AmJa