2011-03-13 47 views
2

我有一個很奇怪的問題,當談到創造了美麗的框架QuartzCore陰影。影着QuartzCore在iPad上

當我把下面的代碼中viewDidLoad中和在iPhone模擬器它完美運行它,但是當我嘗試在iPad的模擬器中運行的影子是不存在的。

self.viewAboutContainer.layer.shadowColor = [[UIColor blackColor] CGColor]; 
self.viewAboutContainer.layer.shadowOpacity = 0.7; 
self.viewAboutContainer.layer.shadowRadius = 4.0; 
self.viewAboutContainer.layer.shadowOffset = CGSizeMake(5.0f, 5.0f);  
self.viewAboutContainer.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.viewAboutContainer.bounds].CGPath; 

這裏奇怪的一部分,當我將代碼移動從viewDidLoad中到viewWillAppear中一切完美的iPad模擬器爲好。

能有人向我解釋爲什麼?

回答

2

非常有趣。

關於模擬器的事情是,它們不是真正的設備仿真器。真正的設備模擬器運行實際在設備上運行的代碼和庫。模擬器運行代碼和庫,這些代碼和庫可以在您的Mac電腦上運行,但僅模擬實際iOS設備上的行爲。代碼在模擬器中的行爲取決於模擬器軟件開發人員能夠實現的實際設備的真實性。

我建議在實際的iPhone和iPad設備上測試你的代碼,如果你能。在實際設備上測試會顯示很多。

您也可以嘗試通過包含陰影圖像一個UIView中嵌入一個UIView實現你的陰影效果。每當我在我的應用程序中編寫任何代碼時,我總是從最高級別提供的API開始,沿着Apple提供的API堆棧前進。我相信這是Apple推薦使用他們的API的方式。

希望這有助於。祝你好運。