2012-06-18 20 views
45

Tôi đang tìm một đường viền xung quanh UIView Tôi chỉ cần tách riêng đường viền đó khỏi chế độ xem chính một cách trực quan.Có cách dễ dàng để thêm đường viền vào chế độ xem trong Xcode cho iOS 5.1

Tôi đã xem các cài đặt cho UIView trong trình chỉnh sửa bảng phân cảnh nhưng tôi dường như không thể tìm thấy bất kỳ điều gì để đặt đường viền.

Có cách nào dễ dàng để thực hiện điều này trong mã không?

+2

có thể trùng lặp của [Cocoa Touch: Làm thế nào để thay đổi màu viền và độ dày của UIView?] (Http://stackoverflow.com/questions/3330378/cocoa-touch-how-to-change-uiviews-border-color-and -nút độ) –

Trả lời

1

Với đường viền này, nền vẫn xuất hiện phía sau. Nói cách khác, đường viền không được chiếu ra ngoài tầm nhìn, mà là không gian bên trong.

Tôi nghĩ rằng cần thiết tạo chế độ xem lớp phủ phía sau chủ sở hữu có kích thước (chiều rộng x chiều cao) tăng lên với kích thước đường viền.

22

Với Swift và XCode 6 bạn có thể thực hiện việc này.

Nhấp vào phần tử UIView trong Bảng phân cảnh và chuyển đến trình kiểm tra nhận dạng. Trong người dùng định nghĩa các thuộc tính thời gian chạy, hãy nhập:

layer.borderWidth number 1 

Nếu bạn muốn góc nhìn đẹp

layer.cornerRadius number 5 
layer.masksToBounds boolean true 

Bây giờ điều này sẽ cung cấp cho bạn một biên giới nhưng để thiết lập các màu sắc mà bạn cần phải làm điều đó với mã. Đi đến bộ điều khiển xem của bạn và thêm IBOutlet từ UIView của bạn. Giả sử bạn làm,

@IBOutlet weak var xView: UIView! 

Gọi hàm này trong chế độ xemChức năng tải xuống như dưới đây để đặt màu.

xView.layer.borderColor = UIColor.whiteColor().CGColor 

Cảm ơn!

+0

tại sao bạn phải xác định màu trong mã? Có trường 'layer.borderColor color red', nhưng nó không hoạt động. Bạn có thể giải thích lý do tại sao? – MMachinegun

+0

Tôi đã tìm thấy cách cập nhật màu sắc trong bảng phân cảnh :) Xem câu trả lời của tôi http://stackoverflow.com/a/29074130 – MMachinegun

+2

Xcode: hoàn toàn trực quan ** lắc đầu ** –

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