Чтобы не скрывать запись под клавиатурой, самое простое решение, которое я нашел, это использовать вид прокрутки, как в примере:
<ContentView>
<ScrollView Margin="0, 5">
<StackLayout Margin="40, 5" Spacing="10">
<Entry Text="{Binding TextEntry1}" Placeholder="Text entry 1"/>
<Entry Text="{Binding TextEntry2}" Placeholder="Text entry 2"/>
<Entry Text="{Binding TextEntry3}" Placeholder="Text entry 3"/>
</StackLayout>
</ScrollView>
</ContentView>
Я отвечаю на это, потому что архивы coretext-dev не доступны для поиска, и Aki Inoue от Apple просто ответил на мой вопрос:
Так как CALayer не может представить субпиксельный цвет (иначе сглаживание шрифта), необходимо отключить его. Я полагаю, что CATextLayer делает это по умолчанию.
Сделайте CGContextSetShouldSmoothFonts (контекст, ложь).
Спасибо, Aki!
Другой комментарий Milen Dzhumerov:
Я не полагаю, что это точно. Мы вовлекаем текст в CALayers с субпиксельным сглаживанием. Просто необходимо удостовериться, что Вы потянули позади текста прежде, чем нарисовать сам текст. См. http://www.cocoabuilder.com/archive/message/cocoa/2008/3/28/202581 для ссылок.
Milen корректен, в случае, если Вы знаете цвет фона заранее, можно сделать:
CGContextSetRGBFillColor(ctx, r, g, b, a)
CGContextFillRect(ctx, (topLeft, size))
CGContextSetShouldSmoothFonts(ctx, True)
И Вы добираетесь, симпатичный субпиксель сгладил текст. Однако, если Вы не знаете цвета фона, необходимо выключить сглаживание шрифта, или Вы получите искаженные результаты.