在时钟应用程序,计时器屏幕显示了一个选择器(可能是一个UIPicker在UIDatePickerModeCountDownTimer模式),在选择栏一些文本("小时",并在这种情况下,"分钟").
(编辑)请注意,这些标签是固定的:当拣选轮滚动时,它们不会移动.
有没有办法在标准UIPickerView组件的选择栏中显示这样的固定标签?
我没有找到任何有助于此的API.建议是添加一个UILabel作为选择器的子视图,但这不起作用.
回答
我按照Ed Marty的建议(下面回答),它的确有效!不完美,但它应该骗人.作为参考,这是我的实现,随意让它变得更好......
- (void)viewDidLoad {
// Add pickerView
self.pickerView = [[UIPickerView alloc] initWithFrame:CGRectZero];
[pickerView release];
CGSize pickerSize = [pickerView sizeThatFits:CGSizeZero];
CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
#define toolbarHeight 40.0
CGFloat pickerTop = screenRect.size.height - toolbarHeight - pickerSize.height;
CGRect pickerRect = CGRectMake(0.0, pickerTop, pickerSize.width, pickerSize.height);
pickerView.frame = pickerRect;
// Add label on top of pickerView
CGFloat top = pickerTop + 2;
CGFloat height = pickerSize.height - …Run Code Online (Sandbox Code Playgroud) 我有一个带UIPickerView的应用程序.我正在使用该方法返回自定义视图
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
Run Code Online (Sandbox Code Playgroud)
它在iOS 6中显得很好.在iOS 7中,没有那么多 - 下面的屏幕截图.
请注意,在没有焦点的单元格中,第二列和第三列重叠.中心行是正确的.
有什么建议?
