iPad UIActionSheet大小问题

时间:2012-07-02 20:06:15

标签: objective-c ipad uidatepicker uiactionsheet

我搜索过,无法找到问题的答案。

我在输入UIDatePicker时使用以下代码弹出UITextField。它在iPhone上完美运行。

mySheet = [[UIActionSheet alloc] initWithTitle:nil delegate:nil cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];
[mySheet setActionSheetStyle:UIActionSheetStyleBlackTranslucent];

CGRect pickerFrame = CGRectMake(0, 44, 0, 0);

UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:pickerFrame];
[datePicker setDatePickerMode:UIDatePickerModeTime];

if (whatPressed == 1) {
    [datePicker setDate:startDate];
}
else
{
    [datePicker setDate:endDate];
}


[mySheet addSubview:datePicker];

UIToolbar *controlToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, mySheet.bounds.size.width, 44)];
[controlToolBar setBarStyle:UIBarStyleBlack];
[controlToolBar sizeToFit];

UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
UIBarButtonItem *setButton = [[UIBarButtonItem alloc] initWithTitle:@"Set" style:UIBarButtonItemStyleDone target:self action:@selector(dismissDate)];
UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target:self action:@selector(cancelDate)];

[controlToolBar setItems:[NSArray arrayWithObjects:spacer, cancelButton, setButton, nil] animated:NO];
[mySheet addSubview:controlToolBar];

[mySheet showInView:self.view];

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

我现在正在尝试为iPad版本使用相同的代码并且视图出现但不够高。我尝试更改CGRect值但它们似乎没有任何效果。

视图似乎是iPhone的宽度,高度约为1厘米。困惑。

帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

在iPad上,此方法在弹出窗口中显示操作表,并将拥有该按钮的工具栏添加到弹出窗口的直通视图列表中。因此,工具栏中的点击会导致调用相应工具栏项的操作方法。如果您希望在点击其他工具栏项时取消弹出窗口,则必须在操作处理程序方法中实现该行为。