1
ピッカービューのTextColorを変更したいとします。私はdidSelectRow
メソッドが呼び出された後にtextColorを変更することができます。PickerViewでスクロールするときにTextColorを変更します。
しかし、iPhoneの時計アプリと同じように、テキストがselectedRowエリアに入っているときにもTextColorを変更したいと思います。
Mycode:
-(NSAttributedString*)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSAttributedString *str= [[NSAttributedString alloc]initWithString:[NSString stringWithFormat:@"%02ld",row] attributes:@{
NSForegroundColorAttributeName:[UIColor redColor]
}];
if([pic selectedRowInComponent:component]==row)
str= [[NSAttributedString alloc]initWithString:[NSString stringWithFormat:@"%02ld",row] attributes:@{
NSForegroundColorAttributeName:[UIColor greenColor]
}];
return str;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
[pic reloadComponent:component];
}
どのように私はこれを達成することができますか?
あなたの答えをありがとう。しかし、私は** "主オブジェクトのデリゲートを設定して、ビュー階層内でそれを前方に持ってきて、手動でスクロールすると他のピッカーのコンテンツをオフセットしてください" **と混同しています。** 私はいませんこれを得る、ごめんなさい – user2526811