iphone - 防止 UIDatePicker 与 TableView 一起滚动

标签 iphone ios objective-c uidatepicker

看起来是一个非常简单的问题,但我还没有找到解决方案:

我有一个 UIDatePicker 显示何时选择了某个表格 View 单元格。我用以下代码显示它:

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.section == 1) {
        switch (indexPath.row) {
            case 0: {
                _alarmPicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 315, 320, 0)];
                [_alarmPicker setDatePickerMode:UIDatePickerModeTime];
                [_alarmPicker addTarget:self action:@selector(alarmPickerChanged) forControlEvents:UIControlEventValueChanged];
                [self.view addSubview:_alarmPicker];
            }
                break;

            default:
                break;
        }
    }
}

问题是,无论何时显示选择器,它都会随着表格的其余部分向上和向下滚动。除了在选择选择器时简单地禁用表格 View 上的所有滚动之外,我如何才能保持选择器固定但表格可滚动?

最佳答案

您可以将它添加到关键窗口:

[[[UIApplication sharedApplication] keyWindow] addSubview:_alarmPicker];

因此它会在最上面。您正在将它添加到您的 TableView (假设您正在使用 UITableViewController)。

关于iphone - 防止 UIDatePicker 与 TableView 一起滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15854397/

相关文章:

ios - 设置按钮图片的方法

ios - 尝试从核心数据中的两个实体中删除数据

ios - 有没有办法使用 sysctl 获取 iPhone 型号?

iOS:如何检测 UIApplicationDelegate 状态何时变为 "suspended"?

iphone - 保存并加载 UISwitch 状态

ios - ViewController 内的 UICollectionView

iphone - 在 HTML 和 CSS 中将 div 居中,但在移动屏幕上被截断

ios - 如何使用 UIViewAnimationOptionRepeat 自动重复一组链接的 UIView 动画

ios - 在不诉诸强制展开的情况下反转 `if let ... as?`

ios - RxSwift - 当 UITextField 以编程方式更新时,UILabel 字段未更新