我在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的内容自动调整高度。
提前致谢,
答案 0 :(得分:4)
UIActionSheet
的默认行为是自动调整其内容大小。您不应该直接设置frame
。
你看到动作表占用了很多空间,因为你在标题中插入了一堆换行符,迫使标题标签占用了比它应该更多的垂直空间。如果你不希望行动表那么高,不要破坏这样的标题。