Если вы боретесь из-за закругленных corners
против subviews
против masksToBounds
, попробуйте использовать мою функцию:
- (UIView*)putView:(UIView*)view insideShadowWithColor:(UIColor*)color andRadius:(CGFloat)shadowRadius andOffset:(CGSize)shadowOffset andOpacity:(CGFloat)shadowOpacity
{
CGRect shadowFrame; // Modify this if needed
shadowFrame.size.width = 0.f;
shadowFrame.size.height = 0.f;
shadowFrame.origin.x = 0.f;
shadowFrame.origin.y = 0.f;
UIView * shadow = [[UIView alloc] initWithFrame:shadowFrame];
shadow.userInteractionEnabled = NO; // Modify this if needed
shadow.layer.shadowColor = color.CGColor;
shadow.layer.shadowOffset = shadowOffset;
shadow.layer.shadowRadius = shadowRadius;
shadow.layer.masksToBounds = NO;
shadow.clipsToBounds = NO;
shadow.layer.shadowOpacity = shadowOpacity;
[view.superview insertSubview:shadow belowSubview:view];
[shadow addSubview:view];
return shadow;
}
вызывают это на вашем представлении. будет ли ваш взгляд иметь закругленные углы, независимо от его размера, его форма - будет нарисована хорошая тень.
Просто сохраните возвращаемое значение функции, чтобы вы могли ссылаться на нее, когда вы хотите удалить таблицу (или, например, использовать insertSubview:aboveView:
)
количество пробелов / табуляций в начале строки указывает структуру, например какой код выполняется как часть операторов if
и циклов for
. поэтому вам нужно быть более систематичным с форматированием вашего кода…
текстовые редакторы, предназначенные для редактирования кода, как правило, помогают в этом.
Кроме того, if k == 27:
выглядит неопределенным, то есть что вы хотите сделать, если пользователь нажал клавишу выхода?