2010-10-14 31 views
15

Tôi đang cố gắng tạo hình ảnh có thể kéo giãn trong trình tạo giao diện. Điều này thậm chí có thể? Tôi đã tìm kiếm trên web và không thể đưa ra giải pháp thích hợp. Tôi đánh giá cao bất kỳ câu trả lời nào.Hình ảnh có thể kéo giãn trong giao diện

+0

Tôi không chắc chắn ý của bạn là chính xác với "hình ảnh có thể kéo dài" ...? – Micko

+0

Tôi có nghĩa là tôi đang tìm kiếm một cách để xây dựng điều này trong IB. Nhưng tôi đoán không có cách nào. * menuBgImage = [[UIImage imageNamed: @ "pm_menu_bg.png"] stretchableImageWithLeftCapWidth: 10 topCapHeight: 5]; – ilteris

+0

@ilteris bạn có thể thay đổi câu trả lời đúng cho bài đăng này không? Câu trả lời đúng bây giờ là sai ... – Ross

Trả lời

6

Với iOS7 bây giờ bạn có tùy chọn để sử dụng trong cắt Xcode5 xcassets danh mục. Sau đó, kéo dài sẽ được thực hiện cho bạn khi bạn thêm hình ảnh cắt lát. (xem official documentation)

3

Không, điều đó là không thể.

+1

Cụ thể hơn: Trình tạo giao diện không phải là trình chỉnh sửa hình ảnh, do đó bạn không thể tạo bất kỳ loại hình ảnh nào trong đó. Bất cứ điều gì bạn muốn làm với một hình ảnh, bạn sẽ cần phải làm trong mã. –

+11

Nhưng đây không phải là về chỉnh sửa hình ảnh mà là về việc xây dựng các hình ảnh có thể kéo giãn như bạn có thể làm trong mã. –

+0

Điều này đặc biệt hữu ích khi thiết lập hình nền cho UITextField. Nếu không có khả năng thiết lập leftCapWidth trong IB, bạn buộc phải thiết lập hình nền trong mã. – memmons

22

này có thể được thực hiện trong xây dựng giao diện: http://www.slideshare.net/mystcolor/stretchable-images-in-uiimageview-using-ib-only

enter image description here

+0

Điều này đúng và phù hợp với tôi. +1 –

+2

Điều này dường như không hiệu quả đối với UIBUtton. – bogardon

+0

Điều gì về điều này: Tôi chỉ có một kích thước hình ảnh 10x10, và tôi muốn sử dụng nó cho một UIView kích thước 20 * 20? Có vẻ như cách duy nhất là tôi phải bắt đầu một hình ảnh lớn nhất có thể, để thu nhỏ nó để vừa với bất kỳ khung hình nhỏ hơn nào. Điều đó giúp giao diện người dùng không bị hỏng. – samthui7

11

Nếu bạn có nghĩa là bạn đã có một hình ảnh căng ra, bạn có thể sử dụng tính năng Trải dài của IB. Các giá trị X và Y dường như là vị trí cho điểm bắt đầu căng, liên quan đến toàn bộ chiều rộng và chiều cao của hình ảnh, nghĩa là 0,5 có nghĩa là một điểm ở giữa hình ảnh.

Điều tương tự cho Chiều rộng và Chiều cao: kích thước cho vùng có thể kéo dài, so với kích thước hình ảnh, tức là đặt giá trị thành 1/imageWidth có nghĩa là vùng có thể kéo dài rộng 1 pixel. Điều kỳ lạ là 0 cũng làm việc tốt cho nút thuốc màu xanh (có thể là vì lý do tiện lợi?).

Dưới đây, chế độ xem được đặt thành "Tỷ lệ để điền". Hình ảnh là hình ảnh có thể kéo dài từ https://github.com/0xced/UIKit-Artwork-Extractor.

enter image description here

Câu trả lời này được lấy cảm hứng từ http://www.slideshare.net/mystcolor/stretchable-images-in-uiimageview-using-ib-only

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