[英]Xcode5 iOS7 - UIPopoverController Corner Radius
我正在將應用程序轉換到相當流暢的iOS 7,有一點我無法弄清楚。
我有一個帶有幾個按鈕的視圖控制器,我用UIPopoverController顯示。
它看起來像彈出控制器正在做一些事情來剪切它的視圖控制器的內容被舍入。
iOS6(我想要這個):
iOS7(改變了一些東西):
我正在使用這里描述的自定義popover控制器后台類http://blog.teamtreehouse.com/customizing-the-design-of-uipopovercontroller
這是我的背景類http://pastebin.com/fuNjBqwU的特定版本
有沒有人知道要改變什么才能讓它回到我的iOS 6外觀?
在popover內容控制器中:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.view.superview.layer.cornerRadius = 0;
}
我嘗試使用@ OneSman7的解決方案,但是使用cornerRadius的視圖不是contentViewController.view實例的直接超級視圖。 相反,我不得不走向視圖層次結構,搜索其cornerRadius為0的那個並重置它(這只是一個UIView實例,沒有要檢查的特殊類名)。 一個不太理想的解決方案,但似乎到目前為止工作。
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
UIView *view = self.view;
while (view != nil) {
view = view.superview;
if (view.layer.cornerRadius > 0) {
view.layer.cornerRadius = 2.0;
view = nil;
}
}
}
}
也許您可以用以下內容替換背景視圖的contentViewInsets:
+ (UIEdgeInsets)contentViewInsets{
return UIEdgeInsetsZero;
}
然后只需在contentViewController的視圖中為其邊緣添加一些額外的填充,這樣即使角落仍然是圓角的,它們也不會包含任何彈出內容,因此圓角效果將不可見。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.