使用UIActionSheet和Three20时出错

时间:2010-09-15 21:42:34

标签: iphone three20 uiactionsheet

在一个项目中,我使用Three20代替一些代码(不使用TTNavigator或一些高级功能,只有几件事。)

当我尝试创建UIActionSheet时,出现EXC_BAD_ACCESS错误。触发它的代码如下(在UIViewController

- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];

    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Is Anyone Injured?"
                                                             delegate:self
                                                    cancelButtonTitle:nil
                                               destructiveButtonTitle:nil
                                                    otherButtonTitles:nil];
    [actionSheet addButtonWithTitle:@"Cancel"];
    [actionSheet showInView:self.view];
}

一旦运行此代码,我就会收到EXC_BAD_ACCESS错误,堆栈指向名为- (CGRect)frameWithKeyboardSubtracted:(CGFloat)plusHeight的方法

在Three20的UIViewAdditions.m内。

我注释掉了该方法,然后获得了EXC_BAD_INSTRUCTION,但这次是在名为- (NSDictionary *)userInfoForKeyboardNotification的方法中。再一次,在UIViewAdditions.m的另一种方法中注释掉了,现在又失败了。

有没有人遇到过这个问题?我已尝试使用NSZombieEnabled进行调试,但这不是原因(没有消息发送到僵尸对象)。

1 个答案:

答案 0 :(得分:0)

我通过检查Three20项目中的每个“仅构建活动架构”复选框解决了问题。这似乎是几个Three20相关错误的神奇背景...... alt text