相关疑难解决方法(0)

修复了UIPickerView选择栏中的标签

在时钟应用程序,计时器屏幕显示了一个选择器(可能是一个UIPickerUIDatePickerModeCountDownTimer模式),在选择栏一些文本("小时",并在这种情况下,"分钟").

(编辑)请注意,这些标签是固定的:当拣选轮滚动时,它们不会移动.

有没有办法在标准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)

iphone cocoa-touch uipickerview

33
推荐指数
3
解决办法
3万
查看次数

UIPickerView在iOS7中打破了自定义视图

我有一个带UIPickerView的应用程序.我正在使用该方法返回自定义视图

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view 
Run Code Online (Sandbox Code Playgroud)

它在iOS 6中显得很好.在iOS 7中,没有那么多 - 下面的屏幕截图.

请注意,在没有焦点的单元格中,第二列和第三列重叠.中心行是正确的.

有什么建议?

在此输入图像描述

uipickerview uipickerviewcontroller ios ios7

11
推荐指数
1
解决办法
3030
查看次数