2017-01-06 22 views
6

Tôi đang tạo ứng dụng trò chuyện. Tôi phải kéo dài hình ảnh bubble theo văn bản như khác chatapps. Tôi đang sử dụng các ràng buộc AutoLayout. Kích thước của imageview có chứa bong bóng increaser hoàn hảo. (Tôi đã đưa màu nền yello cho nó). Hình ảnh bong bóng không bị kéo căng.Hình ảnh bong bóng kéo căng trong ứng dụng Trò chuyện

enter image description here

Tôi đã thêm những khó khăn này:

enter image description here

Đối với duỗi hình ảnh tôi đã thêm này:

let myImage = self.imageNamed("Bubble_Me") 
     let new_Image = myImage.stretchableImage(withLeftCapWidth: 15, topCapHeight: 14) 
     cell.bubbleImage.image = new_Image 

Nếu bất cứ ai có ý tưởng về vấn đề này, hãy phản hồi . Cảm ơn trước.

+0

bạn đã thái lát hình ảnh trong Assets.xcassets? – rv7284

+0

Có, Việc cắt hình ảnh giống nhau hoạt động ở mã khác, nơi mọi thứ được thực hiện theo chương trình. Tôi muốn làm tương tự với autolayouts. Nó không hoạt động với autolayouts. – SNarula

+0

Vui lòng sử dụng hình ảnh vá nini https://github.com/shiami/SWNinePatchImageFactory –

Trả lời

0

Đầu tiên hãy lấy kích thước văn bản của bạn bằng cách sử dụng văn bản này.

UIFont *font = [UIFont systemFontOfSize:14.0]; 
    NSDictionary *attrsDictionary = [NSDictionary dictionaryWithObject:font 
                   forKey:NSFontAttributeName]; 
    NSAttributedString *attrString = [[NSAttributedString alloc] initWithString:message attributes:attrsDictionary]; 

    CGRect paragraphRect = 
    [attrString boundingRectWithSize:CGSizeMake(tableView.frame.size.width - 20 , CGFLOAT_MAX) 
           options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading) 
           context:nil]; 

Sau khi bạn nhận được khung văn bản, sau đó lấy chiều cao từ khung văn bản và đặt chiều cao vào hình ảnhXem bong bóng. này tất cả mọi thứ được thực hiện vào lớp tùy chỉnh tableViewCell vào -(void)layoutSubviews method.

0

gì bạn cần làm là để thiết lập hình ảnh ở chế độ nền của TextView để nó kéo dài càng nhiều các TextView

text.backgroundColor = UIColor(patternImage: UIImage(named:"bg.png")!) 

Bạn nên luôn luôn sử dụng một "Ảnh bitmap có thể thay đổi kích thước" được biết đến nhiều hơn là hình ảnh 9 bản vá cho loại sự cố này.

0

Cố gắng @SNarula này

cell.bubbleImage.image = [[UIImage imageNamed:@"Bubble_Me"] resizableImageWithCapInsets:UIEdgeInsetsMake(20, 20, 20, 20) resizingMode:UIImageResizingModeStretch]; 
0

thử này một:

cell.bubbleImage.image = [[UIImage imageNamed:@"sender.png"] stretchableImageWithLeftCapWidth:2 topCapHeight:2]; 
Các vấn đề liên quan