나는 다음과 같은 코드 팝 오버를 만들려고 해요는 : 는 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");
}
는 I는
UIView
을 만든 하위 뷰으로 라벨을 부착 한 후
UIViewController.view
에 내 시야를 할당. 그런 다음 Popover 컨트롤러를 만들고 Popover 컨트롤러의 크기를 지정하고 대리자를 설정 한 다음 단추의 프레임에서 표시합니다.
SIGABRT가 표시되고 앱이 다운됩니다.
내가 누락 된 자료가 있습니까?
편집 : UILabel
할당을 수정했습니다. 문제는 항상 있습니다.
IBAction 내에 중단 점을 넣고 충돌 지점을 확인하십시오. 또한 [예외]를 가능하게하십시오 (http://stackoverflow.com/questions/4961770/run-stop-on-objective-c-exception-in-xcode-4) –