我以编程方式将 UIDatePicker 控件添加到视图中。我希望 DatePicker 以标准方式显示停靠在屏幕底部...
我正在为 DatePicker 设置框架,并且需要了解 3.5 英寸 iPhone 和 4 英寸 iPhone 的不同屏幕尺寸。
以下代码正在产生所需的结果,但我有几个问题......
// In ViewDidLoad
CGRect defaultFrame = CGRectMake(0,0,0,0);
_datePicker = [[UIDatePicker alloc] initWithFrame:defaultFrame];
CGRect bounds = [self.view bounds];
int datePickerHeight = _datePicker.bounds.size.height;
int navBarHeight = 44;
CGRect datePickerFrame = CGRectMake(0, bounds.size.height - (datePickerHeight + navBarHeight), 0, 0);
[_datePicker setFrame:datePickerFrame];
// In method responding to user tap
[self.view addSubview:_datePicker];
Q1。有没有更优雅的方法来做到这一点?除了用框架创建 DatePicker 之外,检查它的高度,然后设置它的框架......
Q2。该视图是一个 UITableView,位于 UINavigationController 内。当我得到 self.view 的边界时,大小包括整个视图,包括导航栏的 44。然而,当我用 addSubview 添加 DatePicker 时,如果我不包括导航栏的偏移量,它就会偏离底部 44...
当 [self.view bounds] 返回完整边界时,为什么 addSubview 在较小的范围内工作?
干杯,加文