是否允许我们修改默认iOS控件的子视图,如UIDatePicker?我的应用程序有一个简约/扁平的UI,而默认的日期选择器与这种风格不匹配。我能找到的修改它的唯一方法是遍历它的子视图,并隐藏添加阴影的子视图,等等,如下所示:
UIView *background = (UIView *)[[self pickerViews].subviews objectAtIndex:0];
background.hidden = YES;
这是允许的,还是会让我的应用程序被拒绝?我实际上并不是在扰乱控件或它的功能,只是它的外观。
发布于 2013-02-21 00:55:33
虽然您可能不会立即被拒绝,但当控件的子视图更改时,您可能会在将来看到意外的行为。更好的办法是创建自己的自定义控件,或者在公共API中找到接近您想要的外观的方法。
发布于 2013-02-21 05:04:09
它并不是真正的“私有API”--它完全记录在SDK中。但是,您所依赖的行为并未记录在案(也就是说,子视图0是您想要隐藏的那个),因此您需要小心。
您的代码有两个潜在问题:
您还需要做两件额外的事情:
发布于 2013-02-21 01:08:14
不建议更改未通过API公开的内容。将来,苹果可能会删除该特定索引处的子视图。最好避免这种方法。尝试在UI或实现方面寻找其他选项。
https://stackoverflow.com/questions/14992779
复制相似问题