<分区>
<分区>
我试图在用户点击 UITextField 时显示 UIDatePicker。 在 iPad 上,我使用了这段代码并且效果很好,但在 iPhone 上,UIDatePicker 被切断了。 这是我的代码
UIBarButtonItem btnCancel;
UIBarButtonItem btnFlexibleSpace;
UIBarButtonItem btnDone;
UIBarButtonItem[] btnItems;
btnCancel = new UIBarButtonItem(UIBarButtonSystemItem.Cancel, KBToolbarButtonDoneHandler);
btnFlexibleSpace = new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace, null);
btnDone = new UIBarButtonItem(UIBarButtonSystemItem.Done, pickerDoneHandler);
btnItems = new UIBarButtonItem[] { btnCancel, btnFlexibleSpace, btnDone };
myToolbar.SetItems(btnItems, true);
UIDatePicker dpPurchaseDate;
dpPurchaseDate = new UIDatePicker(new RectangleF(0,44,this.View.Bounds.Width,216));
dpPurchaseDate.Mode = UIDatePickerMode.Date;
dpPurchaseDate.MaximumDate = NSDate.Now;
dpPurchaseDate.TimeZone = NSTimeZone.LocalTimeZone;
dpPurchaseDate.UserInteractionEnabled = true;
dpPurchaseDate.BackgroundColor = UIColor.White;
UIView pDateView;
pDateView = new UIView (new RectangleF (0, 0, this.View.Bounds.Width, 260));
pDateView.AddSubview (myToolbar);
pDateView.AddSubview (dpPurchaseDate);
evaluationDate.InputView = pDateView;
在 iPad 上它看起来像这样。
在 iPhone 中它看起来像这样
关于为什么会发生这种情况的任何想法?
最佳答案
您创建 UIDatePicker
时没有设置任何调整大小的掩码或自动布局约束来自动调整其框架,因此默认情况下它只会保持其大小而不管其父 View 。
处理自动调整大小的最简单方法是设置 UIView
的 autoresizingMask
:
dpPurchaseDate.autoresizingMask = (UIViewAutoresizingFlexibleWidth | // Grow horizontally
UIViewAutoresizingFlexibleTopMargin); // Keep at the bottom of the superview
您可以尝试使用 Interface Builder 调整大小。
关于ios - iPhone 中的 UIDatePicker 大小调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25453466/