2012-11-19 46 views
0

在關閉帖子之前重複,相信我,我正在搜索這2天,但仍然沒有。 我會盡量做到儘可能清晰:以編程方式專注於UITextView不起作用

我有一個textview.View需要在textview自動設置焦點,所以鍵盤生病出現。

PostView.h

@interface PostView : UIViewController{ 
UITextView *txtPesto; 
} 
@property (nonatomic,retain) IBOutlet UITextView *txtPesto; 
@end 

PostView.m

#import "PostView.h" 
@implementation PostView 
@synthesize txtPesto; 

- (void)viewDidLoad 
{ 

    [super viewDidLoad]; 
    [txtPesto becomeFirstResponder]; 
} 

對於一些非常奇怪的原因,我的代碼不能正常工作,雖然我已經嘗試了許多樣品和不同的方法。 有什麼幫助嗎?

+1

您是否在xib中連接了'IBOUtlet'? –

+0

我已經將TextView的委託拖動到文件的Owner.Yes。 – Theodoros80

+0

請將'[txtPesto becomeFirstResponder];'添加到viewDidAppear方法中。 –

回答

2

從我的評論(關閉問題)回答: 右鍵單擊textView和「新的引薦插座」,也許這將有所幫助嗎?

+0

Pavel Katunin謝謝你這個問題。我不知道爲什麼參考插座沒有連接在第一位! – Theodoros80

1

你在你的.h文件中聲明txtPesto兩次:

@interface PostView : UIViewController{ 
    UITextView *txtPesto; 
} 
@property (nonatomic,retain) IBOutlet UITextView *txtPesto; 
@end 

在聲明它的屬性,你不需要再做了。因此,刪除多餘的聲明,只是使用:

@interface PostView : UIViewController 

@property (nonatomic,retain) IBOutlet UITextView *txtPesto; 

@end 

我沒有看到任何其他原因,becomeFirstResponder是行不通的。

+0

好吧,這樣做,並相信我沒有工作。我做了一個新的項目,並設法得到它的工作。唯一的區別是,我的原始項目是4.3的目標。 – Theodoros80

+0

這是不正確的。如果你被聲明爲int x;和@property(nonatomic)int x;它被宣佈兩次?這樣寫是怎麼回事? –

相關問題