dai*_*dai 9 iphone uidatepicker ios ios5 uiappearance
优衣库的新报警应用程序有一个自定义UIDatePicker:

我想创建自己的自定义UIDatePicker.
我试图改变DatePicker的外观,但UI_APPEARANCE_SELECTOR在UIDatePicker返回时没有找到.
这意味着它不可能根据文档更改任何值:
为了支持外观定制,类必须符合UIAppearanceContainer协议和相关的访问方法必须注明UI_APPEARANCE_SELECTOR.
怎么能改变我UIDatePicker的外表?
Kul*_*eep 26
API没有提供执行此操作的方法.您可以使用UIPickerView而不是使用UIDatePicker自己创建一个非常令人信服的副本.
由于UIDatePicker或UIPickerView没有UI_APPEARANCE_SELECTOR,甚至你不能将UIDatePicker内容的外观更改为其UIControl而没有任何委托因此它具有其原生外观,而在UIPickerView的情况下,您可以更改其内容的外观类似于在UITableView中.
#pragma mark -
#pragma mark UIPicker Delegate & DataSource
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 2;
}
// returns the # of rows in each component..
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return 100;
}
//- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent: (NSInteger)component {
// return [NSString stringWithFormat:@"%d",row];
//}
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
UILabel *label= [[[UILabel alloc] initWithFrame:CGRectMake(30.0, 0.0, 50.0, 50.0)] autorelease];
[label setBackgroundColor:[UIColor clearColor]];
[label setTextColor:[UIColor blueColor]];
[label setFont:[UIFont boldSystemFontOfSize:40.0]];
[label setText:[NSString stringWithFormat:@"%d",row]];
return label;
}
Run Code Online (Sandbox Code Playgroud)

看一下这个.
| 归档时间: |
|
| 查看次数: |
36752 次 |
| 最近记录: |