在UITextField上切换UITextBorderStyleNone和RoundRect时的EXC_BAD_ACCESS

时间:2012-01-21 03:50:18

标签: ios5 uitextfield xcode4.2

我无法找到在运行时在TextField上两种不同边框样式之间来回切换的方法,而不会导致应用程序崩溃。

我知道如何编码(如下所示):

- (void)switchToStaticView
{
    [nameTextField setBorderStyle:UITextBorderStyleNone];

    // rest of code snipped out
}

- (void)switchToEditView
{
    [nameTextField setBorderStyle:UITextBorderStyleRoundedRect];

    // rest of code snipped out
}

返回StyleNone时出现'EXC_BAD_ACCESS'错误。我相信这是IOS5和/或Xcode 4.2的问题 - 有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

将属性定义更改为强引用

@property (strong, nonatomic) IBOutlet UITextField *nameTextField;

弱引用用于停止循环引用。阅读更多ARC Lifetime Qualifiers

答案 1 :(得分:0)

在设置边框样式之前尝试设置背景颜色 - 插入:titleTextField.backgroundColor = [UIColor clearColor];为我修复它。 (通过UITextView setBorderStyle crashes in iOS 5 Simulator