2012-06-18 47 views
13

Tôi đã tạo một Trường Văn bản với trình tạo giao diện. Làm thế nào tôi có thể nhận được văn bản của nó để sử dụng ở một nơi khác?Cách lấy văn bản của Trường Văn bản trong XCode

Có cái gì đó như:

string text = myTextField.Text; 

Nếu vậy, làm thế nào tôi có thể đặt tên lĩnh vực văn bản của tôi?

+0

Các bạn đã tạo ra một tài sản và nối nó với xây dựng giao diện hoặc làm bạn cần lời khuyên với điều đó? –

+0

Tôi cần một lời khuyên với điều đó :) tôi biết nó là một câu hỏi rất cơ bản nhưng tôi mới để xem các ứng dụng dựa trên. Thực sự đang cố gắng tạo ứng dụng dựa trên lượt xem đầu tiên của tôi. – Yetik

+0

không có prob xem dưới đây –

Trả lời

14

Vì vậy, điều đầu tiên bạn muốn làm là tạo ra một tài sản trong file .h của các tập tin xem điều khiển kết hợp với tập tin xib của bạn như vậy:

@property (strong, nonatomic) IBOutlet UILabel *aLabel; 

Tiếp theo trong file .m bạn cần để tổng hợp nó như vậy:

@synthesize aLabel; 

Trong thẻ triển khai của bạn.

Bây giờ trong trình kiểm soát trình xây dựng giao diện, hãy nhấp vào vị trí "Chủ sở hữu tệp" ở bên trái màn hình trong Xcode 4.3 giữ và kéo nhãn và bỏ qua. Sau đó, trong cửa sổ bật lên, hãy chọn tên của thuộc tính bạn đã tạo. Bây giờ trong phương thức viewDidLoad của trình điều khiển chế độ xem của bạn, bạn có thể nhận được giá trị như sau:

self.alabel.text 
+0

Cảm ơn, Nhưng khi tôi đang xác định tài sản nó nói: dự kiến ​​một thuộc tính tài sản trước khi 'mạnh' – Yetik

+0

Ah .. Vì vậy, bạn đang sử dụng một trình biên dịch cũ hơn. Hãy thử thay vào đó: @property (giữ lại, nonatomic) IBOutlet UITextField * aciklama; –

+0

Bằng cách tôi đang sử dụng: @property (mạnh mẽ, nonatomic) IBOutlet UITextField * aciklama; Vì đó là TextField không phải là Nhãn. Có lẽ nó không quan trọng lắm nhưng tôi chỉ muốn nói. – Yetik

3

Trước tiên, bạn sẽ cần một @property được gọi là myTextField.

Sau đó bạn có thể nhận được văn bản của trường văn bản myTextField.text. Để biết thêm thông tin, hãy xem tài liệu tham khảo lớp học UITextField

Có thể bạn muốn nhận nó khi người dùng đang nhập. Nếu vậy bạn có thể có một cái nhìn tại UITextFieldDelegate

-

Edit: Một liên kết mát mẻ để có một cái nhìn nếu bạn là một sinh viên c khách quan, bạn có thể tìm hiểu thêm tại: UITextFields examples

Trân trọng.

1

Ngoài ra còn có một hướng dẫn táo thoải mái thực hiện mà bao gồm các điều tương tự, cũng như một vài khác chủ đề iOS mới bắt đầu: Your First iOS App

7

Như Greg Price đã đề cập, để lấy tên cho trường văn bản, bạn phải tạo một Outlet. đi đến tập tin ViewController.h của bạn và tạo ra một tài sản cho lĩnh vực văn bản của bạn:

@interface YourViewController: UIViewController 
@property (nonatomic, retain) IBOutlet UITextField myTextField 
@end 

Với từ khóa IBOutlet bạn nói Interface Builder rằng có một lối thoát để kết nối với khách sạn này. Mặt khác, bạn sẽ sử dụng từ khóa IBAction để kết nối các phương pháp với các đối tượng.

Đừng quên để tổng hợp tài sản của bạn, ngay dưới thực hiện của bạn, sau đó trình biên dịch sẽ tạo ra cho bạn một số tiêu chuẩn và setter getter:

@synthesize myTextField; 

Sau đó đi đến xây dựng giao diện và nhấp chuột phải vào File's Owner sau đó kéo một đường từ myTextField đến TextField trên View.

Bây giờ bạn có thể truy cập vào bất động sản văn bản trong mã của bạn:

NSString *string = self.myTextField.text; 
0

của nó khá đơn giản chỉ cần kéo Text Field từ Xem Diện tích để Storyboard của bạn. Sau đó kích hoạt trình soạn thảo trợ lý để bạn có thể xem cả cửa sổ mã và bảng phân cảnh cùng một lúc. Sau đó nhấn nút điều khiển và kéo Trường Văn bản từ bảng phân cảnh của bạn đến cửa sổ mã và thực hiện nó.

//created a string variable 
    var name: String = "" 

    //our label to display input 
    @IBOutlet weak var labelName: UILabel! 

    //this is the text field we created 
    @IBOutlet weak var textFieldName: UITextField! 

    @IBAction func buttonClick(sender: UIButton) { 
     //getting input from Text Field 
     name = textFieldName.text! 


    } 

Nguồn: Xcode Text Field Tutorial

Các vấn đề liên quan