我有UiTableView within UiView
。我想将corner radius & shadow
设置为UIView
。
我使用此代码来提供shadow with corner
及其工作正常。
myView.backgroundColor = [UIColor clearColor];
[myView.layer setCornerRadius:10.0f];
[myView.layer setBorderColor:[UIColor lightGrayColor].CGColor];
[myView.layer setBorderWidth:1.0f];
[myView.layer setShadowColor:[UIColor blackColor].CGColor];
[myView.layer setShadowOpacity:0.8];
[myView.layer setShadowRadius:3.0];
[myView.layer setShadowOffset:CGSizeMake(2.0, 2.0)];
// below line is for smooth scrolling
[myView.layer setShadowPath:[UIBezierPath bezierPathWithRect:myView.bounds].CGPath];`
Portrait mode
一切正常。我的应用程序同时支持Orientation
,我们正在使用Autoresizing property
个。当我更改方向Shadow is displaying according to frame of Portrait mode
时。如何管理这两个方向。
知道如何根据Orientation OR bound更改setShadowPath
吗?
答案 0 :(得分:0)
iOS6轮换 试试这段代码,让我知道它是否适合你
- (BOOL)shouldAutorotate
{
if (UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation))
{
self.view.backgroundColor = [UIColor redColor];
}
else if (UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation))
{
self.view.backgroundColor = [UIColor blackColor];
}
return YES;
}
答案 1 :(得分:0)
我找到了自己的解决方案。我有一个创建的方法- (void) viewWithEffects: (UIView*) myView {// copy the shadow code from the question}
。现在我将此方法称为- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{}
。
因此,当方向更改didRotateFromInterfaceOrientation
时,会根据Corner with Shadow effects.
您的视图将Autoresize
阴影设置为您的视图。如果你的应用程序不支持这两个方向而不需要这样做。只需在viewdidload or viewwillAppear
上拨打一个。我希望它会有所帮助。