Tôi cố gắng để chuyển đổi đoạn mã này để C#, mã này là từ của Apple documentationChuyển đổi từ Obj C đến C#
NSDictionary* info = [aNotification userInfo];
CGSize kbSize = [[info objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
UIEdgeInsets contentInsets = UIEdgeInsetsMake(0.0, 0.0, kbSize.height, 0.0);
scrollView.contentInset = contentInsets;
scrollView.scrollIndicatorInsets = contentInsets;
CGRect aRect = self.view.frame;
aRect.size.height -= kbSize.height;
if (!CGRectContainsPoint(aRect, activeField.frame.origin)) {
CGPoint scrollPoint = CGPointMake(0.0, activeField.frame.origin.y-kbSize.height);
[scrollView setContentOffset:scrollPoint animated:YES];
Cho đến nay đây là nỗ lực của tôi, tôi đang bị mắc kẹt tại CGRectValue.
NSDictionary info = n.UserInfo;
SizeF kbSize = ((RectangleF)info[UIKeyboard.FrameBeginUserInfoKey]).Size;
UIEdgeInsets contentInsets = new UIEdgeInsets(0.0f, 0.0f, kbSize.Height, 0.0f);
this.uiScrollView.ContentInset = contentInsets;
this.uiScrollView.ScrollIndicatorInsets = contentInsets;
RectangleF aRect = this.View.Frame;
aRect.Size.Height -= kbSize.Height;
if(!aRect.Contains(_currentField.Frame))
{
PointF scrollPoint = new PointF(0.0f, _currentField.Frame.Y - kbSize.Height);
this.uiScrollView.SetContentOffset(scrollPoint, true);
}
Tôi có thể không sử dụng đúng loại, ai đó có thể vui lòng giúp tôi hoặc một số mã thay thế làm điều tương tự. Cảm ơn
Tôi không chắc chắn ý của bạn là gì bởi "Tôi đang bị kẹt ở CGRectValue". Trình gỡ lỗi có hiển thị tất cả các biến được đề cập trước đây có các giá trị bạn mong đợi không? Trình gỡ lỗi hiển thị gì về aRect sau aRect = self.view.frame? –
Tôi không thể chuyển đổi dòng đó thành mã C#. Nó không biên dịch. Vui lòng xem mã C# mà tôi đã thử. –
Làm thế nào để bạn nhận được '_currentField'? Tôi cũng đang chuyển đổi hướng dẫn * [iOS SDK: Giữ nội dung từ bên dưới bàn phím] (http://code.tutsplus.com/tutorials/ios-sdk-keeping-content-from-underneath-the-keyboard--mobile -6103) * ... – testing