【问题标题】:delaysContentTouches only on specific elements without subclassing?delaysContentTouches 仅针对特定元素而不进行子类化?
【发布时间】:2011-11-22 22:14:40
【问题描述】:

我有一个简单的问题。在我的应用程序中,我在UIScrollView 中有一些用于导航的按钮,这些按钮会随着内容滚动。这样,当用户输入文本字段并弹出键盘时,按钮将滚动离开以获得额外空间。但是,当我点击它们时,这些按钮不会立即突出显示。我知道我可以通过将delaysContentTouches 设置为NO 来消除这个问题,但这使得滚动几乎不可能,因为视图中的所有UITextFields 和按钮也会立即突出显示,从而窃取滚动。

我找到了一种不通过UIScrollView 子类延迟按钮的方法,所以这是一个选项,但我想知道是否还有其他方法。当只修复一件小事时,我通常讨厌子类化。

【问题讨论】:

    标签: objective-c ios cocoa-touch uiscrollview subclassing


    【解决方案1】:

    如果delaysContentTouches 设置为YES,UIScrollView 的touchesShouldBegin:withEvent:inContentView: 方法将被子类覆盖。所以当子类化完全没问题时就是这种情况。

    【讨论】:

    • 我知道它“可以”,但无论如何我有点讨厌子类化。无论如何,我可能最终会使用这种方法,但我问了这个问题,看看他们是否是另一种解决方案。
    • 无论好坏,这就是这样做的方法。学会喜欢子类化,同时提交一个错误,请求能够在委托中执行此操作。你可以设计你的子类来调用委托!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多