我有这个代码从NSMutableArray从NSDictionary获取NSStrings,但问题是它没有正确显示。 这是代码:
UIActionSheet *playingSheet = [[UIActionSheet alloc] initWithTitle:@"Hi" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil];
for(NSDictionary *dict in accounts) {
NSString *name = [dict objectForKey:@"Name"];
[playingSheet addButtonWithTitle:name];
}
[playingSheet showInView:self.view];
[playingSheet release];
问题在于我的情况,self.view是parentView的子视图,是从XIB加载的,不是全屏。所以问题是我的动作表就像是iPhone屏幕宽度的一半,甚至没有触及屏幕的底部。 在我的情况下,我将如何修复它以使其成为最顶层的视图(以便用户可以正确地看到它),以及常规actionSheet应该看起来的方式?
谢谢!
编辑:这是修复:
[playingSheet showInView:[UIApplication sharedApplication].keyWindow];
答案 0 :(得分:3)
您需要将操作表的框架设置为
[playingSheet setFrame:CGRectMake(0, theHeightYouWant, 320, yourDesiredHeight)];
答案 1 :(得分:2)
根据代码的设置方式,您可以尝试使用self.parentViewController.view
,self.view.window
,self.view.superview
或其他任何内容。如果您想要更详细的答案,则需要提供更多信息。