uiactionsheet高度

时间:2012-04-19 23:15:58

标签: iphone ios uiactionsheet

我在UIActionSheet上有一个简单的问题!如何设置UIActionsheet的高度?我已经尝试了setFrame和setBounds,但没有任何工作。我正在使用以下行动表:

NSString *title = UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation) ? @"\n\n\n\n\n\n\n\n\n" : @"\n\n\n\n\n\n\n\n\n\n\n\n" ;
    UIActionSheet *actionSheet = [[UIActionSheet alloc] 
                                  initWithTitle:[NSString stringWithFormat:@"%@%@", title, NSLocalizedString(@"", @"")]
                                  delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:nil otherButtonTitles:@"Button1",@"Button2", nil];
    [actionSheet setTag: 1];
    //[actionSheet setBounds:CGRectMake(0,0,320,150)];
    //[actionSheet showFromRect:CGRectMake(0,0,100,50) inView: self.parentViewController.tabBarController.view animated:YES];
   // [actionSheet setFrame:CGRectMake(0, 30, 320, 30)];
    actionSheet.actionSheetStyle = UIActionSheetStyleAutomatic;
    [actionSheet showInView:self.parentViewController.tabBarController.view];
     actionSheet = nil;

我的问题是动作表高度等于当前视图的高度。我想根据UIActionSheet的内容自动调整高度。

提前致谢,

1 个答案:

答案 0 :(得分:4)

UIActionSheet的默认行为是自动调整其内容大小。您不应该直接设置frame

你看到动作表占用了很多空间,因为你在标题中插入了一堆换行符,迫使标题标签占用了比它应该更多的垂直空间。如果你不希望行动表那么高,不要破坏这样的标题。