2015-09-20 23 views
8

Trong iOS 8, các popovers không có bóng. Bây giờ trong iOS 9, có một bóng rất nặng và đến nay có thể trông ít hơn mong muốn trên nền màu trắng tinh khiết. Làm thế nào mà bóng có thể được loại bỏ, và thay vào đó thêm một đường màu xám nhạt xung quanh cửa sổ bật lên? Hoặc ít nhất là giảm hoặc làm nhẹ hơn.Làm thế nào để loại bỏ bóng phía sau cửa sổ bật lên trên iOS 9?

Điều này xảy ra khi hiển thị các trang hoạt động, trình bày bộ điều khiển chế độ xem bằng cách sử dụng .PopoverUIModalPresentationStyle và có thể trong các ngữ cảnh khác.

Popover segue: enter image description here

Action tờ:

UIActionSheet(title: "Title", delegate: nil, cancelButtonTitle: "Cancel", destructiveButtonTitle: "Destroy").showInView(sender as! UIView) 

enter image description here

+0

Nếu bạn có trường hợp sử dụng vì sao cửa sổ của bạn trông khác với mọi người, tôi khuyên bạn nên gửi yêu cầu nâng cao với Apple. Hiệu ứng đổ bóng được vẽ bởi UIPopoverPresentationController nhưng bạn không nhận được bất kỳ cách nào để can thiệp hoặc tùy chỉnh hành vi của nó. – matt

+0

Không có API cho những gì bạn muốn. Tạo lớp "popover" của riêng bạn mà không có bóng nếu đó là những gì bạn cần. – rmaddy

+0

@Joey, bạn có tìm ra bất cứ điều gì, bạn không nghĩ rằng câu trả lời của tôi là đúng? –

Trả lời

5

Bạn có thể làm cho nền tùy chỉnh popover của riêng bạn sử dụng UIPopoverBackgroundView

Trong initWithFrame thực hiện UIPopoverBackgroundView của bạn, bạn có thể sử dụng [UIColor clearColor cho bóng đổ.

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 

     self.layer.shadowColor = [[UIColor clearColor] CGColor]; 
    } 

    return self; 
} 
+0

Kỳ lạ thay, màu sắc có vẻ là tài sản duy nhất bạn có thể thay đổi. Tôi cũng đã thử thay đổi các thuộc tính bóng khác như bán kính, độ mờ đục, v.v. thành vô ích –

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