Video: Những tính năng hay trên iPhone mà bạn nên biết 2025
Dưới đây chúng tôi trình bày cách làm việc với hình ảnh trong ứng dụng iOS, ở mức trừu tượng tương tự như làm việc với video. Bắt đầu bằng cách cho bạn thấy các biến được khởi tạo như thế nào trong phương thức ViewDidLoad (cụ thể, lưu ý sự khởi tạo của biến thành viên localImage).
- (void) viewDidLoad {[super viewDidLoad]; // Thực hiện bất kỳ thiết lập bổ sung sau khi tải chế độ xem. NSString * imagePath = [[NSBundle mainBundle] pathForResource: @ "Hình ảnh. Bó / BookFront" ofType: @ "png"]; localImage = [[UIImage alloc] initWithContentsOfFile: imagePath];}
Ở đây bạn thấy hình ảnh được hiển thị như thế nào:
- (IBAction) showImage: (id) sender {imageView. image = localImage; Cuối cùng, đây là phương thức takeImage chứa mã để chụp ảnh:
- (IBAction) takeImage: (id) sender {UIImagePickerController * imagePicker = [[UIImagePickerController alloc] init]; imagePicker. sourceType = UIImagePickerControllerSourceTypeCamera; imagePicker. mediaTypes = [[NSArray alloc] initWithObjects: (NSString *) kUTTypeImage, không có]; imagePicker. delegate = self; [[UIApplication sharedApplication] setStatusBarHidden: YES]; [self presentViewController: imagePicker animated: YES completion: nil];}
Mã cho việc chụp ảnh tĩnh gần như giống với việc quay video. Sự khác biệt duy nhất là thuộc tính mediaTypes của đối tượng imagePicker được đặt thành kUTTypeImage (trong khi nó được thiết lập để kUTTypeMovie khi quay video).
Như bạn thấy, didFinishPickingMediaWithInfo được gọi sau khi chụp ảnh. Ở đây, hình ảnh mới chụp được đặt vào chế độ xem hình ảnh của bộ điều khiển Chế độ xem Hình.
- (void) imagePickerController: (UIImagePickerController *) trình chọn didFinishPickingMediaWithInfo: (NSDictionary *) results {localImage = (UIImage *) [results objectForKey: UIImagePickerControllerOriginalImage]; imageView. image = localImage; [imageView setNeedsDisplay]; [[UIApplication sharedApplication] setStatusBarHidden: KHÔNG]; Mã cho việc sử dụng máy ghi hình trong một ứng dụng và mã để lấy hình ảnh cũng như mã cho việc gửi email và tin nhắn SMS có cấu trúc rất giống nhau.Trong cả hai trường hợp, một đối tượng của trình điều khiển chế độ xem cụ thể được khởi tạo bởi trình điều khiển chế độ xem hiện đang chạy.
Trong trường hợp e-mail, đó là MFMailComposeViewController; trong trường hợp SMS, đó là MFMessageComposeViewController; và trong trường hợp quay video và chụp ảnh, đó là UIImagePickerController. Bộ điều khiển chế độ xem hiện đang chạy sẽ tự đặt mình như một đại biểu trong bộ điều khiển chế độ xem cụ thể. Cuối cùng, trình điều khiển chế độ xem cụ thể được trình bày, và bộ điều khiển chế độ xem hiện tại sẽ xuất hiện.
Khi trình điều khiển chế độ xem cụ thể (cụ thể là trường hợp của UIImagePickerController, MFMailComposeViewController hoặc MFMessageComposeViewController), phương thức ủy nhiệm của bộ điều khiển chế độ xem gốc được gọi là, để xử lý dữ liệu trả về bởi máy ghi âm hoặc máy ảnh hoặc để giải quyết các lỗi và hủy bỏ.
