2014-10-22 78 views
0

我向UIAlertController添加了选择器视图,但它的触摸不能在整个选择器上工作,它只是在选择器的某个特定部分工作。请大家帮我出这个UIAlertController触摸不能正常工作

代码如下:

if (IS_IOS8_AND_UP) { 

    UIAlertController * searchActionSheet=[UIAlertController alertControllerWithTitle:@"" message:@"" preferredStyle:UIAlertControllerStyleActionSheet]; 

    [searchActionSheet.view setBounds:CGRectMake(8, 180, self.viewSize.width, sheetHeight)]; 

// aView.frame = CGRectMake(100,100,aView.frame.size.width,aView.frame.size.height);

//yourView represent the view that contains UIPickerView and toolbar 

[searchActionSheet.view addSubview:aView]; // [[self topViewController] .view addSubview:searchActionSheet.view]; [[self topViewController] presentViewController:searchActionSheet animated:YES completion:nil];

} 
else 
{ 
    _actionSheet = [[UIActionSheet alloc] initWithTitle:paddedSheetTitle delegate:nil cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil]; 
    [_actionSheet setActionSheetStyle:UIActionSheetStyleBlackTranslucent]; 
    [_actionSheet addSubview:aView]; 
    [self presentActionSheet:_actionSheet]; 
    _actionSheet.bounds = CGRectMake(0, 0, self.viewSize.width, sheetHeight); 
} 

看到图像enter image description here

+0

UIAlertController的文档说“这个类的视图层次是私有的,不能修改。” – 2015-07-22 09:39:22

回答

0
UIAlertController * searchActionSheet=[UIAlertController alertControllerWithTitle:@"" message:@"" preferredStyle:UIAlertControllerStyleActionSheet]; 
UIAlertAction *alertAction = [UIAlertAction actionWithTitle:@"" style:UIAlertActionStyleDefault handler:nil]; 
[searchActionSheet addAction:alertAction]; 
[searchActionSheet addAction:alertAction]; 
[searchActionSheet addAction:alertAction]; 
[searchActionSheet addSubview:picker]; 

添加alertAction目的是alertcontroller正如我上面添加。之后,尝试将你的选择器作为子视图添加到alertcontroller。

根据需要添加尽可能多的alertAction对象来调整视图。不知道这是否是正确的方式,但它对我有用。