2013-05-20 30 views
22

Tôi muốn đặt đường viền là UITextView hoặc UILabel trong Bảng phân cảnh. Có thể thực hiện được không?Có thể đặt đường viền UITextView hoặc UILabel trong Bảng phân cảnh không?

Có lập trình, nó là setBorderColorsetBorderWidth.

Nhưng có thể đặt đường viền trong Bảng phân cảnh không?

+0

Hãy kiểm những liên kết này: - http://stackoverflow.com/questions/8716446/uitextview -issue http://stackoverflow.com/questions/9392219/outline-to-uilabel-text – IronManGill

Trả lời

60

Như đã được chỉ ra trước đó, các thuộc tính này là một phần của một lớp, không phải là một phần của chế độ xem. Nhưng bạn vẫn có thể đặt giá trị của chúng trong IB. Khi hypercrypt được chỉ ra, bạn có thể sử dụng Thuộc tính thời gian chạy do người dùng xác định. Vì tất cả các khung nhìn đều có thuộc tính "lớp", bạn có thể đặt "layer.borderWidth" chẳng hạn.

Đây là trường hợp, nơi tôi đang thay đổi gócRadius. Hoạt động tuyệt vời.

enter image description here

+3

OK. phụ lục. Bạn không thể đặt borderColor theo cách này. Nhưng bạn có thể đặt borderWidth (và angleRadius). Không biết tại sao điều này là, thật không may. Có lẽ khi bạn thiết lập một màu như là một thuộc tính, nó đang tìm kiếm một UIColor, nhưng CALayer muốn có một CGColor? –

+0

Điều này đã hiệu quả. Và layer.cornerRadius DID CSONG LÀM VIỆC ok. Tôi đang sử dụng xcode 4.6.2 và thử nghiệm nó trên iPhone 5 và giả lập. –

+0

@DanMorrow Yep, khi bạn đặt Thuộc tính thời gian chạy do người dùng xác định là loại 'Màu', nghĩa là 'UIColor', không phải là' CGColor'. Bạn vẫn có thể nhận được hành vi bạn muốn (có thể thiết lập màu đường viền từ Interface Builder), nhưng bạn sẽ cần một lớp con 'UIView' tùy chỉnh với thuộc tính' UIColor' mà bạn đã đặt từ bảng phân cảnh và mã áp dụng màu đó cho đường viền, và sau đó bạn sẽ cần lồng các khung nhìn của bạn trong bảng phân cảnh bên trong các thể hiện của lớp con đó. Cho dù đây là rắc rối nhiều hơn giá trị của nó còn lại là một câu hỏi cho người đọc. –

1

Nếu bạn đang nhắm mục tiêu iOS 6 trở lên, bạn có thể sử dụng các thuộc tính thời gian chạy do người dùng xác định do người dùng xác định trong Trình kiểm tra nhận dạng để đặt bất kỳ thuộc tính nào. Hiệu suất không phải là một vấn đề cho một trong hai, do đó, nó không quan trọng.

3

sử dụng mã đơn giản trong .m, nó hiển thị biên giới theo quan điểm

view.layer.cornerRadius = 5.0f; 
view.layer.masksToBounds = NO; 
view.layer.borderWidth = .5f; 
view.layer.shadowColor = [UIColor orangeColor].CGColor; 
view.layer.shadowOpacity = 0.4; 
view.layer.shadowRadius = 5.0f; 
+0

câu hỏi là làm thế nào để làm điều đó trong storyboard . – thesummersign

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