我试图创建一个具有酥料饼下面的代码:UIPopoverController麻烦
//.h
@interface LoginViewController : UIViewController <UIPopoverControllerDelegate>
....
@end
//.m
- (IBAction)popoverTest:(id)sender
{
UIViewController *popoverContent = [[UIViewController alloc] init];
UIView *myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 300)];
UILabel *nameLabel = [[UILabel alloc] init]; //edited, fixed UILabel allocation
nameLabel.text = @"Person's name";
[nameLabel sizeToFit];
nameLabel.frame = CGRectMake(10, 10, nameLabel.frame.size.width, nameLabel.frame.size.height);
[myView addSubview:nameLabel];
popoverContent.view = myView;
popoverContent.contentSizeForViewInPopover = CGSizeMake(300, 300);
UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
popoverController.delegate = self;
[popoverController presentPopoverFromRect:((UIButton *)sender).frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
NSLog(@"ran all code");
}
我创建了一个UIView
,把一个标签作为一个子视图,然后分配给我的观点给UIViewController.view
。然后我创建了一个popover控制器,调整popover控制器的大小,设置委托并从按钮的框架中显示它。
我收到一个SIGABRT,应用程序崩溃。
有什么我失踪了吗?
编辑:我固定UILabel
分配。问题总是存在的。
在您的IBAction中放置一个断点并查看它崩溃的位置。启用也[例外](http://stackoverflow.com/questions/4961770/run-stop-on-objective-c-exception-in-xcode-4) – 2012-02-22 17:29:52