2013-09-24 31 views
11

Tôi vừa cập nhật lên XCode 5. Các nút trong ứng dụng của tôi trông OK trong IB và trên thiết bị iOS 6, nhưng trên thiết bị iOS 7 chúng trông như thế này (chúng phải bao phủ toàn bộ không gian màu đen)):Nút nền trên ios7 bị ép, ios6 ok

enter image description here

tôi có hình ảnh cho cả phi võng mạc/võng mạc.

Tôi không biết phải làm gì, vì tôi không thay đổi bất kỳ thứ gì trong mã hoặc IB.

EDIT:

Bây giờ tôi phát hiện ra, nếu tôi thay đổi loại nút từ tùy chỉnh để hệ thống và thiết lập nền tảng của nó thay vì hình ảnh của mình, tôi nhận được kích thước chính xác nhưng tôi nhận được một số bóng kỳ lạ trên nó.

EDIT2:

Bây giờ tôi đặt màu tint nút để "màu rõ ràng" và tất cả mọi thứ có vẻ ok (cái bóng biến mất). Vẫn không chắc chắn những gì đã thay đổi trong iOS 7 liên quan đến điều này.

+0

trong iOS 7, thanh điều hướng mặc định là mờ, có nghĩa là khung self.view khác với trong 6. –

+0

Bạn có đang thiết lập các nút trong mã hoặc trong một xib/bảng phân cảnh không? Nếu mã, vui lòng đăng – RyanG

+0

Trong IB. Nếu tôi đặt nút như được chọn trong IB, mọi thứ sẽ ổn. – DixieFlatline

Trả lời

4

Hướng dẫn Human Interface đặc biệt phác thảo cách UIButtons hệ thống mang phong cách làm việc theo mặc định. It explains that a system button:

  • Không có biên giới hay xuất hiện nền bằng cách mặc định ...
  • Hỗ trợ trang trí tùy chỉnh, chẳng hạn như một biên giới hoặc hình ảnh nền (để thêm một diện mạo tùy chỉnh, sử dụng một nút kiểu UIButtonTypeCustom và cung cấp một hình nền tùy chỉnh).

Tuy nhiên UIButton HIG page cung cấp thêm một chút thông tin, cụ thể:

Nếu bạn không đặt một cách rõ ràng một màu sắc, nút sẽ thừa hưởng màu sắc thái SuperView của hãng.

Điều này giải thích tại sao, sau khi thay đổi nút thành UIButtonTypeSystem, bạn đột nhiên phải đặt lại (xóa) màu tô màu. Trong iOS7, (hầu hết) mọi thứ có màu tô màu. UIButtonTypeSystem phù hợp hơn với nhu cầu của bạn hiện tại trong iOS7 (hơi đau nếu có nhiều thay đổi theo cách thủ công ...)

Vì sao các nút thu nhỏ trong iOS7 ... Tôi đồng ý với nhận xét của @ Joseph liên quan đến UIViewController xem khung trong iOS7. Có khả năng bạn có một số mối quan hệ thiết lập cho kích thước của các nút không phát độc đáo khi khung của ViewController thay đổi trong iOS7 (xem this SO question để thảo luận). Như đã đề xuất ở đó, hãy xem iOS7 transition guide để xem bạn có đang làm gì trong IB đang chống lại hạt iOS7 mới hay không.

0

[button setBackgroundColor:[UIColor colorWithRed:(255.0/255.0) green:(180.0/255.0)];.

Đây là mã phù hợp với nền, và nếu bạn đang sử dụng hình ảnh sau đó sử dụng

[UIImage imageNamed:@".png"];

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