[英]UITextFieldDelegate crash (exc_bad_access)
看起來我有UITextFieldDelegate
的問題。
我剛剛創建了一個響應UITextFieldDelegate
協議的視圖控制器,並輕松地將字段添加到xib,然后設置委托字段......你知道。
但是當我嘗試按下該字段時(開始編輯,程序崩潰)。
當我嘗試以編程方式創建字段時,會發生同樣的事情。
這是調用堆棧:
這是完整的代碼:
。H
#import <UIKit/UIKit.h>
@interface TopBar : UIViewController <UITextFieldDelegate>
{
IBOutlet UITextField * field_top;
}
.M
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
NSLog(@"textFieldShouldBeginEditing");
textField.backgroundColor = [UIColor colorWithRed:220.0f/255.0f green:220.0f/255.0f blue:220.0f/255.0f alpha:1.0f];
return YES;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
NSLog(@"textFieldDidBeginEditing");
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
NSLog(@"textFieldShouldEndEditing");
textField.backgroundColor = [UIColor whiteColor];
return YES;
}
- (void)textFieldDidEndEditing:(UITextField *)textField
{
NSLog(@"textFieldDidEndEditing");
}
代表由IB設定。
錯誤截圖:
請幫忙。
確保你的.h中有這個
@interface TopBar : UIViewController <UITextFieldDelegate> {
}
@property (nonatomic, weak) IBOutlet UITextField *field_top;
並從@interface
刪除
IBOutlet UITextField * field_top;
聽起來你的field_top正在發布,而你正試圖在以后訪問它,這就是它崩潰的原因。
我找到了答案。 解決方案是使用addChildViewConroller,而不僅僅是addSubview。 希望它會對某人有所幫助......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.