我正在尝试使用iOS 7中引入的backgroundColor属性设置UIPopover的背景颜色。
当我使用普通颜色方法设置颜色但在使用基于图像模式的方法时不起作用时,它可以正常工作。
这是代码 -
- (IBAction)tapTestButton:(UIButton *)sender
SecondViewController *secondVC = [[SecondViewController alloc] initWithNibName:nil bundle:nil];
UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:secondVC];
self.pc = [[UIPopoverController alloc] initWithContentViewController:nc];
UIImage *image = [UIImage imageNamed:@"bg.png"];
self.pc.backgroundColor = [UIColor colorWithPatternImage:image]; // However [UIColor redColor] works !!
[self.pc presentPopoverFromRect:sender.frame inView:sender.superview permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
}
下面的屏幕截图在模拟器上捕获结果 - 注意导航栏和箭头颜色(fyi - bg.png
& bg@2x.png
有蓝色纹理)。
编辑: 它似乎是设备特定(和模拟器)问题。在我检查的2个iPad设备中 - 它可以在一个(iPad第二代,iOS 7.0.4)上运行而在另一个(iPad第四代,iOS 7.0.4)上运行。