在TabBarController中的UIActionSheet中的UIPIckerView

时间:2012-03-29 00:07:49

标签: ios5 uipickerview uitabbar uiactionsheet

我正在尝试在UIActionSheet中创建一个UIPickerView,并在选取器上方的操作页上的栏中显示“完成”按钮,我试图从标签栏显示操作表。

这是我用来创建我的选择器的代码:

    _beepPicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 0, 320, 216)];
    _beepPicker.showsSelectionIndicator = YES;
    _beepPicker.dataSource = self;
    _beepPicker.delegate = self;

这是我用来创建我的行动表的代码(用我的“完成”按钮)

_beepPickerActionSheet = [[UIActionSheet alloc] 
                              initWithTitle:nil 
                              delegate:nil 
                              cancelButtonTitle:nil 
                              destructiveButtonTitle:nil 
                              otherButtonTitles:nil];
    UISegmentedControl *doneButton = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObject:@"Done"]];
    doneButton.momentary = YES; 
    doneButton.frame = CGRectMake(260, 7.0f, 50.0f, 30.0f);
    doneButton.segmentedControlStyle = UISegmentedControlStyleBar;
    doneButton.tintColor = [UIColor blackColor];
    [doneButton addTarget:self action:@selector(dismissBeepPicker:) forControlEvents:UIControlEventValueChanged];
    [_beepPickerActionSheet addSubview:doneButton];

以下是我添加“完成”按钮的方式:

[_beepPickerActionSheet addSubview:_beepPicker];

最后,以下是我尝试显示操作表的方法:

[_beepPickerActionSheet showFromTabBar:self.tabBarController.tabBar];

行动表确实显示......但是,我只能看到行动表顶部约30个像素????????

知道我可能做错了吗?

当我检查我的调试器时......这是我在动作表框架中看到的内容

UIActionSheet:0x6b304f0; frame =(0 455; 320 25);

之前的屏幕截图:

enter image description here

之后的屏幕截图:

enter image description here

1 个答案:

答案 0 :(得分:0)

好的......我知道我做错了什么......我不得不添加

[_beepPickerActionSheet setBounds:CGRectMake(0,0,320,485)];

将我添加到视图后。