2013-08-22 31 views
35

Việc kéo và thả nút tròn tròn không còn có sẵn trong Xcode 5 không? Tôi dường như không thể tìm thấy nó trong bộ dựng giao diện. Tôi đã đoán rằng đây là một trong những thay đổi trong iOS 7, nhưng tôi chỉ muốn chắc chắn.No Round Rect Button trong Xcode 5?

+0

Mục tiêu triển khai của bạn là gì? – trojanfoe

+0

iPhone - iOS7. Tôi thực sự đã thử thay đổi nó thành phiên bản 6.1 và điều đó cũng không giúp được gì. – juminoz

+2

iOS7 và Xocde 5 vẫn thuộc NDA, điều này hạn chế bạn không nói về chúng bên ngoài Diễn đàn nhà phát triển Apple chính thức. – rckoenes

Trả lời

51

Nút Round Rect từ Xcode 4 và các phiên bản trước đó dường như đã được thay thế bằng nút System Default, điều này cũng sẽ rõ ràng. I E. theo mặc định không có nền trắng với các góc tròn, chỉ văn bản hiển thị.

Để thực hiện các nút màu trắng (hoặc bất kỳ màu nào khác), chọn các thuộc tính thanh tra và cuộn xuống đến View phần:

enter image description here

Chọn Background và thay đổi nó sang màu trắng:

enter image description here

Nếu bạn muốn các góc tròn, bạn có thể làm như vậy với một chút mã. Chỉ ctrl-drag từ nút đến file .h của bạn, gọi nó là cái gì đó như roundedButton và thêm này trong thư mục viewDidLoad:

CALayer *btnLayer = [roundedButton layer]; 
[btnLayer setMasksToBounds:YES]; 
[btnLayer setCornerRadius:5.0f]; 
+0

đáng ngạc nhiên là ứng dụng iOS 7 Maps có nút thông tin tròn. –

+0

@BartSimpson: Tôi đã cập nhật câu trả lời của mình để bao gồm làm tròn các góc. – Robert

+0

Câu trả lời của bạn hoạt động. Tuy nhiên, tôi đã nói về nút thông tin này - http://s1.ibtimes.com/sites/www.ibtimes.com/files/styles/v2_article_large/public/2013/06/18/ios-7-maps.PNG (thấp hơn góc phải) –

5

Đây là quá dài cho một lời nhận xét trong @ câu trả lời của Robert, nhưng tôi chỉ muốn thêm liên quan đến việc tuyên bố: "Nút Round Rect từ Xcode 4 ... dường như đã được thay thế ...".

Xác nhận rằng nó chắc chắn đã được thay thế:

Nút hình chữ nhật tròn bị phản đối trong iOS 7. Thay vào đó, sử dụng một hệ thống nút-có nghĩa là, một đối tượng UIButton kiểu UIButtonTypeSystem.

Nút hệ thống iOS 7 không bao gồm hình bezel hoặc hình nền. Nút hệ thống có thể chứa biểu tượng đồ họa hoặc tiêu đề văn bản và có thể chỉ định tông màu hoặc nhận màu của bố mẹ.

...

Nếu bạn cần để hiển thị một nút trong đó bao gồm một bezel, sử dụng một nút của loại UIButtonTypeCustom và cung cấp một hình nền tùy chỉnh.

Apple iOS 7 Transition Guide, tr. 45, "Nút hình chữ nhật tròn"

Vì vậy, khuyến nghị của Apple là sử dụng hình nền.

74

Cũng có thể làm cho đường tròn được làm tròn trong bảng phân cảnh.

enter image description here

+0

điều này thật tuyệt vời! cảm ơn. – SpaceDog

+0

Chỉ cần thêm tính năng này chỉ khả dụng cho iOS5 trở đi – sradforth

+4

Lưu ý rằng bạn sẽ không thấy kết quả của các thuộc tính đã xác định cho đến khi chạy. – rizzes

3

Trên thực tế trong ios 7 tổng UI đã được thay đổi cho các điều khiển cơ bản. Nếu bạn vẫn muốn có một nút tròn làm tròn, bạn phải đi cho thuộc tính cốt lõi của các lớp con UIView tức là; thuộc tính lớp.

buttonObj.layer.cornerRadius = 5.0f;//any float value

để hiển thị các hiệu ứng bạn phải từ bỏ một số màu nền để buttonObj

nếu bạn muốn thiết lập biên giới rộng

buttonObj.layer.borderWidth = 2.0f;//any float value

bạn cũng có thể cung cấp cho các màu cho border

buttonObj.layer.borderColor = [[UIColor greenColor]CGColor];

Lưu ý: Ở đây chúng tôi phải sử dụng CGColor cho các lớp vì lớp là thuộc tính đồ họa cốt lõi của UIViews