UISlider 详细信息 iOS 5.1 中 Splitviewcontroller 的视图损坏

Posted

技术标签:

【中文标题】UISlider 详细信息 iOS 5.1 中 Splitviewcontroller 的视图损坏【英文标题】:UISlider in details View of Splitviewcontroller in iOS 5.1 broken 【发布时间】:2012-03-12 04:04:39 【问题描述】:

ios 5.1 开始,UISplitviewcontroller 会在您向右滑动时呈现列表视图,而在您向左滑动时将其隐藏。很酷。问题是,我在 Splitviewcontroller 的详细信息视图中使用了 UISlider。而且我不能再滑动了!因为它总是将列表视图推入。

有没有办法禁用“滑动识别”的滑块区域,所以在滑动滑块时它不会检测到滑动?

或者有没有其他方法可以解决这个问题。我只是想将我的更新发送给 Apple 并发现了这个错误。拜托,我需要你的帮助!

【问题讨论】:

好吧,我找到了解决方法:yourSplitviewController.presentsWithGesture = NO;但我实际上只想禁用 UISlider 的滑动......我提交了一个错误报告。到目前为止似乎没有办法做到这一点?! 【参考方案1】:

您必须将 PresentWithGesture 更改为 NO

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UISplitViewController_class/Reference/Reference.html

修改手势识别器

【讨论】:

你不能修改splitview的gestureRecognizer,我问了苹果的支持,他们告诉我提交一个错误报告......【参考方案2】:

我的问题是,当我尝试使用滑块时,splitViewController 的列表视图会弹出。我通过在 appDelegate 中将 presentWithGesture 设置为 NO 解决了这个问题,如下所示:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    // Override point for customization after application launch.
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) 
        UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
        UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
        splitViewController.delegate = (id)navigationController.topViewController;
        splitViewController.presentsWithGesture = NO;
    

return YES;

重读时,您的问题似乎是相反的:您确实希望 splitViewController 响应滑动,而不是滑块。由于 UISlider 是 UIResponder 的子类,我想说你最好的选择是看那里。覆盖 canPerformAction:withSender: 以始终返回 NO 很有可能解决您的问题。

【讨论】:

以上是关于UISlider 详细信息 iOS 5.1 中 Splitviewcontroller 的视图损坏的主要内容,如果未能解决你的问题,请参考以下文章

iOS - UISlider 在第一次触摸时跳跃

UISlider在iOS7中没有动画

UISlider拖动在iOS中表现异常

UISlider thumbImage 无法退出 uislider 框架

如何在 Swift 中自定义 UISlider 值

UISlider 在 ios 中无法使用特定语言