【发布时间】:2011-07-06 20:33:44
【问题描述】:
Sams **在 24 小时内自学 iPad 应用程序开发说我可以“以“非动画”方式显示操作表,在它首次出现时填充完整的弹出视图...为此,您需要显示带有方法的操作表
showFromRect:inView:animated
“rect”设置为弹出框的尺寸,视图设置为弹出框视图控制器的视图,“动画”设置为 false。首次加载弹出视图时需要显示操作表,例如在弹出视图控制器的 viewDidLoad 方法中。
好的,简单..这是我在弹出框的 viewDidLoad 方法中的代码:
- (void)viewDidLoad {
self.contentSizeForViewInPopover=CGSizeMake(400.0,400.0);
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Available Actions" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Destroy" otherButtonTitles:@"Negotiate", @"Compromise", nil];
[actionSheet showFromRect:[self.view bounds] inView:self.view animated:NO];
[actionSheet release];
[super viewDidLoad];
}
但这在inView:self.view参数处每次都会失败,但例外:
Invalid parameter not satisfying view != nil
有什么想法吗?
注意,如果我将这个完全相同的代码放在 IBAction 方法中并从弹出窗口中的按钮触发它,它会顺利运行!
【问题讨论】:
-
在展示 actionSheet 之前尝试调用
[super viewDidLoad];。 -
@Pengy +1:是的,应该是第一个电话,基本上总是这样。
-
您是仅在第一次显示视图时尝试执行此操作,还是在显示时执行此操作?
-
嗨 - 我将 [super viewDidLoad] 移到顶部 - 没有效果。
-
PopOver 视图正在通过我的主视图的 xib 文件中的引用加载。
标签: ios ipad actionview popover