我想你可以在选择器下打印子视图并修改它们。 数据第一次加载后,UIPickerView创建子视图。 With performSelecter:WithObject:afterDelay :,你可以删除它们或插入任何你需要的东西。
- (void)viewDidLoad
{
[super viewDidLoad];
[self refreshClock];
[timePicker_ performSelector:@selector(leakSelf) withObject:nil afterDelay:0];
[self performSelector:@selector(setupTimePicker) withObject:nil afterDelay:0];
}
- (void)setupTimePicker {
[[timePicker_ subviewOfClass:NSClassFromString(@"_UIPickerViewTopFrame")] removeFromSuperview];
CGRect frame = timePicker_.frame;
frame.size.width += 20;
frame.origin.x -= 10;
timePicker_.frame = frame;
}
@implementation UIView(UIViewDebugTool)
- (void)leakSubview:(UIView*)subroot atDepth:(NSUInteger)dep {
DLog(@"trace sub view[%u] %@", dep, [subroot description]);
CALayer* layer = subroot.layer;
for(CALayer* l in layer.sublayers) {
DLog(@"layer[%u] %@", dep, l);
}
for(UIView* v in subroot.subviews) {
[self leakSubview:v atDepth:dep+1];
}
}
- (void)leakSelf {
NSUInteger dep = 0;
[self leakSubview: self atDepth:dep];
}
@end
我已经在我的项目来实现这一点,我怎么能实现它相当好文章? – 2016-12-20 07:15:59
当我在寻找解决方案时,没有直接的方法来实现它。我能够说服设计团队改变它的外观和感觉。 – 2017-01-10 08:34:32