2014-02-28 72 views
1

如何將UITextField字符串複製到UITextView? 我想在UIButton;將UITextField字符串複製到UITextView

[myUIButton addTarget:self action:@selector(touchButton) forControlEvents:UIControlEventTouchUpInside]; 

UITextField* textField (initialized, omit code here) 
[self.view addSubview:textField]; 
//save string to the property 
self.textFieldString = textField.text; 
//textFieldString is @property NSString* textFieldString; at the header. 

UITextView* textView (initialized, omit code here) 
[self.textView setEditable:false]; 
[self.view addSubview:self.textView]; 

//here i want to implement UITextField string -> UITextView display 
-(void)submitButtonClicked { 
//.... 
//Problem i am having here is that, I can not see instance variable other than @property variable. How should I pass UITextField .text to UITextView? 
} 
+1

so make textView a ivar and you'll see it –

+1

您還可以標記文本字段和文本視圖並檢索它們。例如:'[self.view viewWithTag:kTxtFieldTag]'; – Amar

回答

0

準備標識每個UI

[textField setTag:100]; 

[self.view addSubview:textField]; 


[textView setTag:200]; 

[self.view addSubview:textView]; 

標識每個UI元素和管理

-(void)submitButtonClicked { 

    //Problem i am having here is that, 
    // I can not see instance variable other than @property variable. 
    // How should I pass UITextField .text to UITextView? 

    UITextField *myTextField=(UITextField*)[self.view viewWithTag:100]; 
    UITextView *myTextView=(UITextView*)[self.view viewWithTag:200]; 

    myTextView.text=myTextField.text; 

} 
+0

非常感謝。有效。這裏有另一個問題。每次調用方法時它都會創建UITextField和UITextView。你難道沒有記憶麻煩嗎? 這種方式似乎更好, //屬性UITextField * myTextField; //屬性UITextView * myTextView; 然後在self.myTextField = self.myTextView 的方法中使用它們。這意味着,它只是使用本地屬性變量而不創建新類。 – nelm

+0

是的你是對的,你應該把它們保持爲實例變量,但你曾經問過「我應該如何將UITextField .text傳遞給UITextView?」。爲了做到這一點,我喜歡這個。你是對的,並根據你的需要修改代碼。祝一切順利! –

+0

我明白了。祝一切順利。 – nelm

0

在您的按鈕操作使用:

textView.text=textField.text; 

在@interface和@end之間聲明你的變量並在viewDidLoad中初始化它們。這樣你就可以在按鈕的動作中使用它們。現在

@interface ViewController() 

{ 
    UITextView *textView; 
    UITextField *textField; 

} 

@implementation ViewController 

-(void) viewDidLoad 
{ 
// Do the following 
// Initialize both textView and textField 
// Set their frames 
// Add both of them as a subview to your view 
} 

@end 

你就可以訪問他們都在你的按鈕的動作。 希望這有助於。

0

如果以編程方式創建UITextView,則創建一個屬性變量並將其合成。您可以使用合成名稱訪問相同的名稱,並在UIButton操作方法中獲取文本並將其設置爲UITextView。

在.m文件,你可以作爲你的描述我有問題就在這裏「問題聲明的UITextView爲

@interface classname() { 
    UITextView *textView 
} 

或.h文件中

@property (nonatomic, strong) UITextView *textView; 

的是,我不能請參閱@property變量以外的實例變量。我應該如何將UITextField .text傳遞給UITextView?'

相關問題