Trang Chủ Xã hội Truyền thông Làm thế nào để thực hiện bộ điều khiển tìm mã vạch địa lý trong ứng dụng iOS của bạn - núm vú

Làm thế nào để thực hiện bộ điều khiển tìm mã vạch địa lý trong ứng dụng iOS của bạn - núm vú

Video: Giới Thiệu và Cách Dùng tweak Flex Trên iPhone Jailbreak 2025

Video: Giới Thiệu và Cách Dùng tweak Flex Trên iPhone Jailbreak 2025
Anonim

Để chức năng mã hoá địa lý của bạn hoạt động trong ứng dụng iOS của bạn, bạn sẽ phải làm một số mọi thứ trong bộ điều khiển Tìm. Hầu hết những gì bạn cần làm xoay quanh việc nhận được văn bản người dùng nhập vào. Bạn cũng sẽ phải có văn bản được mã hóa địa lý và có vị trí địa lý được triển khai như là một đối tượng mô hình Chú thích bởi mô hình Chuyến đi, bộ điều khiển Tìm sẽ thêm vào bản đồ.

Để truy cập văn bản, đầu tiên bạn cần phải tạo ra một lối thoát cho trường Văn bản. Thực hiện theo các bước sau:

  1. Chọn Main_iPad. trong bảng điều khiển Dự án.

  2. Chọn bộ điều khiển Chế độ xem chính trong Khung nhìn Tài liệu.

  3. Chọn Trợ lý trong Bộ chọn Biên tập, và nếu MasterViewController. h không xuất hiện, điều hướng đến nó bằng cách sử dụng thanh Jump.

  4. Trong phần phác thảo tài liệu, mở tam giác công khai cho phần Xem bảng thứ hai trong trình điều khiển Master View - Cảnh chính để đến ô Xem Bảng.

  5. Mở ô Xem Bảng để hiển thị Chế độ xem Nội dung đang giữ nhãn Tìm và văn bản.

  6. Mở tam giác công bố của ô đó để hiển thị trường Văn bản, và sau đó điều khiển từ trường Không biên dạng sang giao diện Master View (trong trình soạn thảo Trợ lý) giữa các lệnh @interface và -d, và thêm vào một cửa hàng có tên findText.

Đây là một cách khác để tạo ra lối thoát.

Một đối tượng UITextField là một điều khiển hiển thị các văn bản có thể chỉnh sửa và gửi một thông báo tới delegate của nó khi người dùng nhấn phím Return. Bạn thường sử dụng một đối tượng UITextField để cho phép người dùng nhập một số lượng nhỏ văn bản và sau đó làm điều gì đó với nó - như tìm kiếm cái gì đó hoặc thêm một số liên lạc mới.

Chọn trường Văn bản, chọn trình soạn thảo tiêu chuẩn trong Bộ chọn biên tập trên thanh công cụ Xcode, sau đó mở phần Tiện ích. Bạn có thể thiết lập một số thuộc tính Text field trong thanh tra Attributes.

Làm thế nào bạn sẽ biết khi người dùng đã nhập một số văn bản? Ngoài ra, làm thế nào để bạn có được bàn phím để hiển thị, và sau đó ẩn?

Khi một người sử dụng gõ vào một UITextField, nó sẽ trở thành câu trả lời đầu tiên, và bàn phím tự động tăng lên để cho phép người sử dụng nhập văn bản - bạn không phải làm một điều gì để làm điều đó xảy ra.

Khi người dùng nhập xong văn bản, anh ta ấn phím Return - phím Return có nhãn mà bạn đã quản lý để chuyển thành Go.

Khi phím Go được gõ, trường văn bản sẽ xác định xem nó có một delegate hay không và delegate đã triển khai một phương thức textFieldShouldReturn: - một trong những phương thức UITextFieldDelegate tùy chọn.Nếu delegate đã làm như vậy, nó sẽ gửi cho delegate các textFieldShouldReturn: message. Vì vậy, textFieldShouldReturn: là nơi để nắm bắt văn bản.

Để bắt văn bản và gửi nó tới FindController, bạn cần phải trở thành delegate của trường văn bản và thực hiện phương thức textFieldShouldReturn: Nhưng trước khi bạn làm điều đó, bạn cần phải làm một điều nữa trong Trình tạo Giao diện.

Bạn bắt đầu bằng cách làm cho MasterViewController một UITextFieldDelegate. Cập nhật MasterViewController. h với mã đậm để có thể chấp nhận giao thức UITextFieldDelegate.

#import @interface MasterViewController: UITableViewController @ tài sản (mạnh mẽ, không có hệ thống) DetailViewController * detailViewController; @ tài sản (yếu, nonatomic) IBOutlet UITextField * findText; -d

Việc nâng nặng sẽ được thực hiện trong phương thức textFieldShouldReturn của TextField: delegate. Các đại biểu sẽ được thông qua các lĩnh vực văn bản đang được chỉnh sửa như là một đối số, và điều khiển Master View sẽ vượt qua điều đó vào bộ điều khiển Tìm.

Trước tiên, bạn phải cập nhật việc thực hiện MasterViewController bằng cách thêm mã đậm vào MasterViewController. m.

#import "FindController h" @implementation MasterViewController #import "MasterViewController h" #import "DetailViewController h" #import "AppDelegate.h" #import "Chuyến đi h Bạn sẽ cần phải làm cho MasterViewController delegate textField. Để làm điều đó, thêm mã bằng đậm để xemDidLoad trong MasterViewController. m.

- (void) viewDidLoad {[super viewDidLoad]; AppDelegate * appDelegate = [[UIApplication sharedApplication] đại biểu]; tự. title = appDelegate. chuyến đi. Tên điểm đến; UIImageView * imageView = [[UIImageView alloc] initWithImage: [appDelegate. trip destinationImage]]; tự. tableView. backgroundView = imageView; UISwipeGestureRecognizer * swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget: Tự thực hiện: @selector (handleSwipeGesture:)]; Vuốt cử chỉ. direction = UISwipeGestureRecognizerDirectionLeft; [tự. xem addGestureRecognizer: swipeGesture];

tự. findText. delegate = self; } Bây giờ bạn có thể thực hiện phương thức textFieldShouldReturn: delegate bằng cách thêm mã vào MasterViewController. m.

Bạn sẽ nhận thấy một số lỗi Live Issue ở đây. Bạn cần thêm thuộc tính findLocation vào FindController.

- (BOOL) textFieldShouldReturn: (UITextField *) textField {[textField resignFirstResponder]; nếu ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {FindController * findController = [[UIStoryboard storyboardWithName: @ "Main_iPad" bó: nil] instantiateViewControllerWithIdentifier: @ "Tìm"]; findController. findLocation = textField. bản văn; DetailViewController * currentDetailViewController; currentDetailViewController = [tự. splitViewController. viewControllers lastObject]; nếu (currentDetailViewController. masterPopoverController! = nil) [currentDetailViewController. masterPopoverController dismissPopoverAnimated: YES]; tự. splitViewController. delegate = findController; findController.popOverButton = currentDetailViewController. popOverButton; findController. masterPopoverController = currentDetailViewController. masterPopoverController; NSMutableArray * controllers = [NSMutableArray arrayWithObjects: (tự phân chia. ViewControllers) [0], findController, nil]; tự. splitViewController. viewControllers = controllers;} else {FindController * findController = [[UIStoryboard storyboardWithName: @ "Main_iPhone" bó: nil] instantiateViewControllerWithIdentifier: @ "Tìm"]; findController. findLocation = textField. bản văn; [tự. Điều đầu tiên mã thực hiện cho bạn là gửi một tin nhắn đến trường Text yêu cầu nó từ chức như là phản hồi đầu tiên:

[textField resignFirstResponder];

[textField resignFirstResponder];

Điều này có tác dụng phụ khi loại bỏ bàn phím.

Những gì bạn làm tiếp theo là một trường hợp khác khi điều gì xảy ra tùy thuộc vào việc ứng dụng của bạn đang chạy trên iPad hay iPhone.

Nếu bạn đang chạy trên iPad, bạn nhanh chóng FindController từ Main_iPad. kịch bản.

FindController * findController = [[UIStoryboard storyboardWithName: @ "Main_iPad" bó: nil] instantiateViewControllerWithIdentifier: @ "Tìm"];

Sau đó bạn chỉ định văn bản từ textField cho thuộc tính findLocation FindController (bạn sẽ thêm vào FindController ngay).

findController. findLocation = textField. bản văn;

Sau đó bạn bỏ qua popover.

DetailViewController * currentDetailViewController; currentDetailViewController = [tự. splitViewController. viewControllers lastObject]; nếu (currentDetailViewController. masterPopoverController! = nil) [currentDetailViewController. masterPopoverController dismissPopoverAnimated: YES];

Sau đó, bạn chỉ định các thuộc tính popOverButton và masterPopoverController và làm cho FindController các đại lý điều khiển Split View.

tự. splitViewController. delegate = findController; findController. popOverButton = currentDetailViewController. popOverButton; findController. masterPopoverController = currentDetailViewController. masterPopoverController;

Sau đó, bạn chỉ cần tạo FindController bộ điều khiển Xem chi tiết mới trong thuộc tính viewControllers của điều khiển Xem Chia.

NSMutableArray * controllers = [NSMutableArray arrayWithObjects: (tự phân chia. ViewControllers) [0], findController, nil]; tự. splitViewController. viewControllers = bộ điều khiển;

Lưu ý rằng, nếu đó là iPhone bạn đang xử lý, bạn nhanh chóng FindController, gán thuộc tính findLocation, và đẩy nó vào ngăn xếp Điều khiển Điều khiển, làm cho khung nhìn trượt vào vị trí.

FindController * findController = [[UIStoryboardstoryboardWithName: @ "Main_iPhone" bó: nil] instantiateViewControllerWithIdentifier: @ "Tìm"]; findController. findLocation = textField. bản văn; [tự. navigationController pushViewController: findController hoạt hình: YES];

Cuối cùng bạn trả lại YES để có trường Text thực hiện hành vi mặc định của nó.
Làm thế nào để thực hiện bộ điều khiển tìm mã vạch địa lý trong ứng dụng iOS của bạn - núm vú

Lựa chọn của người biên tập

Làm thế nào để Thiết lập nhân viên trong QuickBooks Quá trình biên chế nâng cao - núm vú

Làm thế nào để Thiết lập nhân viên trong QuickBooks Quá trình biên chế nâng cao - núm vú

Sau khi bạn thành lập công ty của bạn thông tin cho bảng lương trong QuickBooks, bạn đã sẵn sàng để thiết lập nhân viên cho biên chế. Là một phần của quy trình Thiết lập biên chế nâng cao, QuickBooks hiển thị trang web nơi bạn có thể thêm nhân viên của mình. Bạn cũng có thể thêm nhân viên bằng cách hiển thị Trung tâm Nhân viên. (Chọn lệnh Employee → Employee Center và nhấp chuột ...

Làm thế nào để Thiết lập biểu đồ Tài khoản QuickBooks 2012 - núm vú

Làm thế nào để Thiết lập biểu đồ Tài khoản QuickBooks 2012 - núm vú

Biểu đồ tài khoản Danh sách trong QuickBooks 2012 là danh sách các tài khoản bạn sử dụng để phân loại thu nhập, chi phí, tài sản, nợ phải trả và số vốn chủ sở hữu của chủ sở hữu. Nếu bạn muốn xem chi tiết đơn hàng cụ thể của dữ liệu tài chính trên báo cáo, bạn cần một tài khoản cho chi tiết đơn hàng đó. Nếu bạn muốn ngân sách ...

Cách Thiết lập Máy in để in QuickBooks 2015 Hóa đơn - núm vú

Cách Thiết lập Máy in để in QuickBooks 2015 Hóa đơn - núm vú

Nếu bạn dự định in hóa đơn từ QuickBooks 2015, bạn chỉ cần cài đặt máy in hóa đơn một lần, nhưng bạn cần phải chỉ rõ một số quy tắc in ấn chung về hoá đơn. Các quy tắc này cũng áp dụng cho các bản ghi nhớ tín dụng và các đơn đặt hàng, bằng cách này. Để cài đặt máy in của bạn để in hóa đơn, làm theo các bước sau: Chọn ...

Lựa chọn của người biên tập

Hình ảnh Các chế độ phát trên một Canon EOS 70D - núm vú

Hình ảnh Các chế độ phát trên một Canon EOS 70D - núm vú

Một trong những điều tốt nhất về Canon EOS 70D của bạn có thể xem ảnh ngay sau khi bạn chụp chúng. Không còn đoán xem bạn có bị bắn mà bạn muốn hay cần thử lại; không còn lãng phí tiền bạc khi phát triển và in những bức ảnh bốc mùi. Để chuyển máy ảnh sang chế độ Phát lại, chỉ cần ...

Lựa chọn của người biên tập

Cách xem tab Thông báo của bạn trên Twitter - những con cần

Cách xem tab Thông báo của bạn trên Twitter - những con cần

Xem ai đang tương tác với bạn trên Twitter trực tiếp qua @replies và @mentions (Tweets để đáp ứng hoặc nói chung đề cập đến người dùng cá nhân), các mục yêu thích (cách thừa nhận hoặc đánh dấu trang Tweets) và retweets (chia sẻ nội dung đã được đăng bởi một người dùng Twitter khác). Yêu thích Nhấn vào biểu tượng ngôi sao, hoặc nút Video yêu thích, thêm vào Tweet của bạn ...

Sai lầm Twitter # 1: @reply versus @mention - núm vú

Sai lầm Twitter # 1: @reply versus @mention - núm vú

Mọi người dùng Twitter - mới và cũ - đã trở thành nạn nhân của sự nhầm lẫn giữa @reply versus @mention. Khi nhà phát triển thịnh vượng và nhà chiến lược nội dung Anum Hussein giới thiệu 21 mẹo đăng bài xã hội trên hội nghị INBOUND hàng năm, mẹo để hiểu sự khác biệt giữa @reply và @mention là số một ...

Mẹo vặt để xây dựng sự hiện diện của cá nhân trên Twitter

Mẹo vặt để xây dựng sự hiện diện của cá nhân trên Twitter

Twitter ban đầu phổ biến để giúp các cá nhân giữ liên lạc với bạn bè và người quen của họ qua các cập nhật nhỏ. Nhiều Twitterers cá nhân vẫn có xu hướng sử dụng Twitter theo cách này, cập nhật một vòng tròn gần gũi của bạn bè về những suy nghĩ và những sự kiện xảy ra trong cuộc sống của họ. Theo thời gian, bạn có thể theo kịp với những người mà bạn có thể không liên hệ ...