我搜索过,无法找到问题的答案。
我在输入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厘米。困惑。
帮助表示赞赏。
答案 0 :(得分:0)
在iPad上,此方法在弹出窗口中显示操作表,并将拥有该按钮的工具栏添加到弹出窗口的直通视图列表中。因此,工具栏中的点击会导致调用相应工具栏项的操作方法。如果您希望在点击其他工具栏项时取消弹出窗口,则必须在操作处理程序方法中实现该行为。