Вы можете установить Xamarin.IQKeyboardManager из Nuget на свой проект iOS. Затем включите его в AppDelegate:
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
{
//...
IQKeyboardManager.SharedManager.Enable = true;
return true;
}
Обновление:
Я создаю демо без использования stroryboard, и вы можете ссылаться на него.
в AppDelegate
public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
{
// create a new window instance based on the screen size
Window = new UIWindow(UIScreen.MainScreen.Bounds);
Window.RootViewController = new UINavigationController(new MainViewController());
IQKeyboardManager.SharedManager.Enable = true;
// make the window visible
Window.MakeKeyAndVisible();
return true;
}
в MainViewController
public override void ViewDidLoad()
{
View = new UniversalView();
base.ViewDidLoad();
Title = "Title";
IQTextView textView = new IQTextView() {
Frame = new CGRect(20, 90, UIScreen.MainScreen.Bounds.Width - 40, 626),
BackgroundColor = UIColor.Red,
Text = "xxx",
Font = UIFont.SystemFontOfSize(14),
};
View.AddSubview(textView);
// Perform any additional setup after loading the view
}
Возможно, ваша проблема из-за того, что вы используете автоматическую разметку. И вы можете использовать Masonry от Nuget.