わかりましたので、現在私が取り組んでいるアプリでは、ユーザーが待機時間を入力できるようにUIDatePicker
モードを設定して (読み取り: ハッキング) を使用しています。これに関する問題は、およびプロパティを無視するためUIDatePickerModeCountDownTimer
、最大値を制限できないことです (5 時間にしたい) 。UIDatePickerModeCountDownTimer
maximumDate
minimumDate
そこで、モードを に変更してみましたUIDatePickerModeTime
。これにより、制限を設定できます。ここでの問題は、orUIDatePickerModeTime
が呼び出されないようで、コンポーネントが非常に薄く、タイトルがないことです。widthForComponent:
titleForRow:
以前は、見栄えは良かったのですが、制限を調整することはできませんでした。これらのコンポーネントの幅を変更するにはどうすればよいですか? スクリーンショットを追加したので、私が何を意味するかがわかります (写真のフランス語を許してください。私はアプリのフランス語ローカライズに取り組んでいました)。
これは SO に関する私の最初の投稿です。ずっと使用していたので、何か忘れた場合はお知らせください。私はコードを投稿しますが、(会社のルール) 許可されていないと思います。とにかく、すべてが複雑です。
これは、モードが設定されている場合ですUIDatePickerModeCountDownTimer
(別名、どのように見せたいか):
そして、これはモードが設定されている場合の外観ですUIDatePickerModeTime
(別名、より多くの機能を備えていますが、見栄えがよくありません):
または、上限を設定し、そのモードで「0時間0分」を有効にする方法がある場合UIDatePickerModeCountDownTimer
(現在、カウントダウンタイマーとして設計されているため、このオプションは無効になっています)、教えてください知る!
ありがとう!
PS: iOS SDK 6.0 と ARC を使用しており、展開ターゲットは iOS 5.0+ です。
PPS: 担当者がいないため、「スパム防止」で画像を投稿できませんでした。だから私はimgurのリンクを残しました
編集:コンポーネントの幅を設定するコードは次のとおりです。私はUIPicker
自分のアプリにデータソースなどを含む他のカスタムを持っていますが、非常に単純なもののためだけに別のカスタム UIPicker を作成したくありません。
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
if(component == 0){
return [NSString stringWithFormat:@"Hours"];
}else if (component == 1){
return [NSString stringWithFormat:@"Minutes"];
}
}
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component {
return 160.0f;
}