2012-04-16 28 views
5

Tôi muốn chèn UIImageView vào UITextView của Thanh công cụ có nút gửi và máy ảnh theo cách tương tự như mặc định của iPhone Ứng dụng SMS hoạt động.Cách chèn UIImageView trong UITextView giống như cách ứng dụng nhắn tin mặc định (SMS) sử dụng để chèn nội dung đa phương tiện trong UITextView

+0

Vui lòng kiểm tra này: - http://stackoverflow.com/questions/2117460/how-to-insert-uiimage-into-uitextview/18145676#18145676 –

Trả lời

6

Bạn nên sử dụng một số UIScrollView và quản lý UITextView s và UIImageView giây trong đó. UITextView không hỗ trợ thêm nội dung hình ảnh với văn bản. Trong thực tế, nó không thực sự hỗ trợ bất cứ điều gì khác hơn là văn bản nhiều dòng.

mỗi bình luận của bạn dưới đây, có ba điều tôi có thể nghĩ ra để có được hình ảnh như là một phần của văn bản hộp nhập:

  1. Họ đang không sử dụng một UITextView, nhưng thay vào đó một số giao diện tùy chỉnh. Đó là loại điều khó khăn để tái tạo.
  2. Họ đang phủ một số UIImageView trên UITextView dưới dạng chế độ xem phụ và đặt nội dungTrong số UITextView để không có chồng chéo.
  3. Họ đang sử dụng UIView riêng biệt để chứa cả số UITextViewUIImageView làm các bản xem phụ và chỉ cần sắp xếp các bản xem trước đó nếu cần.

3 Cả 2 & 3 rất giống nhau (chỉ cách tiếp cận hơi khác) và có lẽ cách tiếp cận tốt nhất của bạn. Cá nhân, tôi nghĩ rằng 3 có lẽ là tốt nhất, vì nó cung cấp cho bạn sự kiểm soát nhiều nhất về vị trí của cả hai quan điểm, nhưng 2 cũng nên làm việc tốt.

+0

Cảm ơn cho câu trả lời, Nhưng tôi yêu cầu cho UITextView trong thanh công cụ có nút gửi và nút máy ảnh, Cách nhập UIImage trong UITextview đó? –

+0

Ok, tôi hiểu ... Tôi đã mở rộng câu trả lời của mình để cung cấp cho bạn một số tùy chọn. –

1

Tôi đồng ý với Aaron. Dựa trên những gì tôi đã thấy, tôi tin rằng ứng dụng SMS gốc thực sự là một UITableView với TableCells được sửa đổi cao. Các TableCells sau đó là các khung nhìn tổng hợp chứa UITextView và UIImageView như Aaron đã đề xuất.

Nó có thể làm việc nhiều hơn một chút, nhưng tôi nghĩ bạn sẽ thấy việc tùy biến xác định UITableCell của riêng bạn với các yếu tố trên sẽ khá hữu ích và phù hợp với mô hình iOS tổng thể. Mọi thứ hoạt động tốt hơn rất nhiều khi bạn làm việc với các mô hình nguyên bản so với/xung quanh chúng.

Cheers

0

tôi có một suggetion mà cố gắng làm cho tập tin html với hình ảnh và văn bản theo yêu cầu của bạn và tải tập tin html vào webview.

Ở đây bạn cũng có thể quay lại một số văn bản cụ thể Bold, v.v.

Tôi nghĩ giao diện đẹp thì văn bản.

Để làm webview chỉ trông giống như xem di chuyển đơn giản chỉ cần đặt phương pháp này trong mã của bạn

không quên viết này

webView.opaque = NO;,

[self hideGradientBackground:webView];

- (void) hideGradientBackground:(UIView*)theView 
{ 
    for (UIView * subview in theView.subviews) 
    { 
     subview.backgroundColor = [UIColor clearColor]; 
     if ([subview isKindOfClass:[UIImageView class]]) 
      subview.hidden = YES; 

     [self hideGradientBackground:subview]; 
    } 
} 

Tôi hy vọng điều này có thể giúp bạn.

0

Bạn có thể triển khai bằng UITextViewDelegate và ContentInset.

- (void)viewDidLoad 
{ 
    self.textView.delegate = self; 
    [self.textView addSubview:self.addedView]; 
    [self.textView setContentInset:UIEdgeInsetsMake(0, 0, CGRectGetHeight(self.addedView.frame), 0)]; 
} 

- (void)textViewDidChange:(UITextView *)textView 
{ 
    NSLog(@"%@",NSStringFromCGSize(textView.contentSize)); 
    __weak typeof(self) wself = self; 
    [UIView animateWithDuration:0.5f animations:^{ 
     [wself.addedView setFrame:CGRectMake(0, textView.contentSize.height + 10, CGRectGetWidth(wself.addedView.frame), CGRectGetHeight(wself.addedView.frame))]; 
    }]; 
} 
Các vấn đề liên quan