下面是我用来显示弹出窗口的一些代码。 第一次调用此弹出窗口时会显示。 第二次调用它失败并出现“EXE_BAD_ACCESS”错误。 它失败了“self.myTextPopOver = pop;” 如果我注释掉[pop release]这一行,一切正常,但这意味着我正在泄漏记忆。
// Popover Text
- (IBAction)popoverText
{
// Create a popover object
setTextPopOver *setTX = [[setTextPopOver alloc] init];
// Create a UIPopover controller based on a setTextPopOver object
UIPopoverController *pop = [[UIPopoverController alloc] initWithContentViewController:setTX];
// Set self as the delegate
setTX.delegate = self;
// Set the mySelectColorView to PopOver Controller
self.myTextPopOver = pop;
[pop release];
// Present the Popover
[self.myTextPopOver presentPopoverFromRect:titleBack.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:true];
[self.myTextPopOver setPopoverContentSize:setTX.view.frame.size];
[setTX release];
}
答案 0 :(得分:0)
你能显示完整的调用堆栈吗?
如果在显示另一个弹出窗口时发生这种情况,您应首先调用[popoverController dismissPopoverAnimated:YES];
。