Các mã sau gạch khu vực hình ảnh trong insets quy định:Cách thực hiện [UIImage resizableImageWithCapInsets:] trước iOS5?
UIEdgeInsets imgInsets = UIEdgeInsetsMake(10.f, 5.f, 13.f, 44.f);
UIImage *image = [[UIImage imageNamed:@"fileName"] resizableImageWithCapInsets:imgInsets];
Tuy nhiên điều này chỉ có sẵn trong iOS5. Làm thế nào tôi có thể đạt được kết quả tương tự cho khả năng tương thích trước-iOS5?
[UIImage stretchableImageWithLeftCapWidth: topCapHeight:]
không thích hợp theo tôi hiểu, vì nó giả định rằng khu vực có thể lát gạch rộng 1px. Nói cách khác nó không gạch, nó streches. Do đó, nó không hoạt động với các mẫu, chỉ với các hình ảnh một màu. Điều này được thể hiện trong ảnh chụp màn hình bên dưới.
Sau đó, có [UIColor colorWithPatternImage:]
, nhưng điều này giả định rằng toàn bộ hình ảnh cần phải được lát gạch, nó không cho phép các inset phải được giữ nguyên.
Bất kỳ trợ giúp nào được đánh giá cao, cảm ơn.
.
Tôi có cùng một vấn đề. Một mặt, hooray rằng họ cố định nó trong iOS 5. Mặt khác, tôi đang đấu tranh để suy nghĩ của một cách đơn giản để thêm chức năng này để nó hoạt động trong iOS 4. Bạn đã quyết định làm gì? –
Có phải trường hợp có lẽ trước khi các nhà thiết kế đồ họa đặc trưng này chỉ là các nút xây dựng rất bận rộn ?! – Ellis