2014-07-24 26 views
9

Tôi đang làm việc trên bàn phím tùy chỉnh iOS 8, nơi tôi đã thiết kế bàn phím bằng một số hình ảnh như mặt cười. tôi muốn bàn phím này hoạt động với iMessage. khi tôi đang cố gắng gửi văn bản hoạt động đúng cách nhưng không thể chia sẻ hình ảnh ở đó. Tôi đã thử đoạn mã sau:Chia sẻ hình ảnh trong iMessage bằng Bàn phím tùy chỉnh trong iOS 8

Để chia sẻ văn bản: (làm việc của nó đúng)

-(void)shouldAddCharector:(NSString*)Charector{ 
    if ([Charector isEqualToString:@"Clear"]) { 
     [self.textDocumentProxy deleteBackward]; 
    } else if([Charector isEqualToString:@"Dismiss"]){ 
     [self dismissKeyboard]; 
    } else { 
     [self.textDocumentProxy insertText:Charector]; 
    } 
} 

Để thêm hình ảnh: (Không làm việc)

-(void)shouldAddImage:(UIImage*)oneImage 
{ 
     UIImage* onions = [UIImage imageNamed:@"0.png"]; 

     NSMutableAttributedString *mas; 
     NSTextAttachment* onionatt = [NSTextAttachment new]; 
     onionatt.image = onions; 
     onionatt.bounds = CGRectMake(0,-5,onions.size.width,onions.size.height); 
     NSAttributedString* onionattchar = [NSAttributedString attributedStringWithAttachment:onionatt]; 

     NSRange r = [[mas string] rangeOfString:@"Onions"]; 
     [mas insertAttributedString:onionattchar atIndex:(r.location + r.length)]; 
     NSString *string =[NSString stringWithFormat:@"%@",mas]; 
     [self.textDocumentProxy insertText:string]; 
} 

Có khả năng chuyển hình ảnh đến [self.textDocumentProxy insertText:string];

hình ảnh đính kèm sau đây hiển thị h ow chính xác tôi muốn sử dụng bàn phím hình ảnh này. tôi ngạc nhiên như thế nào bàn phím biểu tượng cảm xúc sẽ làm việc? enter image description here

+0

có cách nào để chuyển đổi chuỗi phân bổ (hình ảnh) sang định dạng NSString để tôi có thể chèn hình ảnh ... – Sri

+0

@Gaurav: bạn có tìm thấy gì về điều này không? – Manthan

+0

@Manthan Tôi đã thực hiện theo cách mờ ám được đề xuất bên dưới. Bạn có thể kiểm tra hiệu suất bằng cách tải xuống ứng dụng nghệ thuật từ appstore. – Gaurav

Trả lời

9

Theo như tôi biết, hành vi bạn đang tìm kiếm không thể thực hiện được với iOS 8 beta 4.

Hiện tại, cách duy nhất để bàn phím tùy chỉnh iOS tương tác với văn bản là qua <UITextDocumentProxy> và cách duy nhất để chèn bất cứ điều gì là thông qua phương thức insertText:.

Đây là tiêu đề cho các phương pháp insertText: trong <UITextDocumentProxy>:

- (void)insertText:(NSString *)text; 

Như bạn thấy, phải mất một đồng bằng NSString ... không phải là một NSAttributedString. Đây là lý do tại sao nỗ lực chèn hình ảnh của bạn không hoạt động.

Tuy nhiên, mặc dù thực tế là bạn không thể thêm ảnh, vẫn rất có thể chèn biểu tượng cảm xúc, vì biểu tượng cảm xúc thực sự chỉ là một ký tự Unicode.

Để thêm biểu tượng cảm xúc, chỉ cần chèn nhân vật thích hợp Unicode:

[self.textDocumentProxy insertText:@"\U0001F603"]; 

Liên kết hữu ích:

Danh sách Unicode Emoji: http://apps.timwhitlock.info/emoji/tables/unicode

Unicode Nhân vật như NSStrings: Writing a unicode character with NSString

+0

Cảm ơn matt, tôi đã thực hiện với biểu tượng cảm xúc thêm vào bàn phím ngay bây giờ đang tìm giải pháp để thêm hình ảnh. – Gaurav

+1

Không có công việc xung quanh. Thật không may, nó chỉ đơn giản là không thể. – Matt

+1

là có anyway để chuyển đổi của tôi gán (hình ảnh) để định dạng NSString vì vậy tôi có thể atatch hình ảnh. – Sri

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