Swift 4 Решение для создания UICollectionViewCell round и добавления Shadows без каких-либо расширений и осложнений:)
Примечание. Для простых видов, например кнопок. См. Ответ @ suragch's в этом сообщении. https://stackoverflow.com/a/34984063/7698092 . Протестировано успешно для кнопок
В случае, если кто-то все еще пытается обогнуть углы и одновременно добавлять тени. Хотя это решение работает с UICollectionViewCell, оно может быть обобщено на любой взгляд.
Этот метод работал для меня без каких-либо расширений и всех сложных вещей. Я работаю с storyBoard.
Technique
Вы должны добавить UIView (скажем, «containerView») внутри вашего UICollectionViewCell в storyBoard и добавить все необходимые представления (кнопки, изображения и т. д.) внутри этого контейнера. См. Скриншот.
Подключите розетку для контейнераView. Добавьте следующие строки кода в функцию делегата CellforItemAtIndexPath.
//adds shadow to the layer of cell
cell.layer.cornerRadius = 3.0
cell.layer.masksToBounds = false
cell.layer.shadowColor = UIColor.black.cgColor
cell.layer.shadowOffset = CGSize(width: 0, height: 0)
cell.layer.shadowOpacity = 0.6
//makes the cell round
let containerView = cell.containerView!
containerView.layer.cornerRadius = 8
containerView.clipsToBounds = true
Выход
Вы можете использовать find.text
https://flutter.io/docs/cookbook/testing/widget/finders#1-find-a-text-widget [114 ]
testWidgets('finds a Text Widget', (WidgetTester tester) async {
// Build an App with a Text Widget that displays the letter 'H'
await tester.pumpWidget(MaterialApp(
home: Scaffold(
body: Text('H'),
),
));
// Find a Widget that displays the letter 'H'
expect(find.text('H'), findsOneWidget);
});
Я получил это работает. Мне нужно было получить доступ к свойству виджета элемента, а затем преобразовать его в текст:
var text = finder.evaluate().single.widget as Text;
print(text.data);