Я не знаю, является ли это вашей проблемой, но у меня был точно такой же симптом, и после нескольких часов недоумения я обнаружил свою проблему: я создавал кнопку, добавляя градиентслой, и только позже позиционирование кнопки.Изначально размеры кнопок были равны 0, а при настройке layer.frame = swipeView.bounds;
я также устанавливал для слоя градиента значение 0.Я добавил код, чтобы при определении размера кнопки я также подбирал подслои по размеру, чтобы соответствовать, и это решило проблему.Я на самом деле использую MonoTouch, поэтому код выглядит следующим образом:
btn.Frame = new RectangleF([the dimensions you need]);
foreach(var s in btn.Layer.Sublayers)
{
s.Frame = btn.Bounds;
}
Возможно, вы создаете представление в коде, и представление не было масштабировано или позиционировано, и поэтому при добавленииградиент также не имеет размера, и поэтому вы не можете его видеть.Когда представление изменит размер (возможно, в ViewDidLayoutSubviews
), измените размер слоя градиента и посмотрите, решит ли это его.