第二次更新感谢@ Segev的评论和对另一个主题的引用,我能够改进我的演示,让它基本上做我想要的.然而,它仍然没有Instagram的实现那么顺利,我想知道是否有人知道如何改进它以使其更顺畅?此外,我注意到有时(在我的演示中),当我向左/向右快速扫动并且我想切换到向上/向下滑动时,它仍将继续向左/向右滑动,直到我停止滑动并让它先停下来
更新:通过继承UIScrollView并从UIGestureRecognizerDelegate实现shouldRecognizeSimultaneouslyWithGestureRecognizer和shouldBeRequiredToFailByGestureRecognizer方法,我可以在停止向上/向下滚动后左/右滑动表视图.我的想法是在ifRecognizeSimultaneouslyWithGestureRecognizer中返回true,如果用户向上/向下滚动tableView,然后在shouldBeRequiredToFailByGestureRecognizer中使表视图的向上/向下手势失败.
但是我仍然无法弄清楚如何让用户在停止初始向上/向下滚动(并且用户的手指仍然在设备上)之后向上/向下或向左/向右滚动.
我在这里创建了一个示例项目https://github.com/paulsfds/TableViewsInScrollView.您可以通过向下滑动表格视图一次来测试此操作,然后抬起手指,当它仍在滚动时,将手指放回以停止滚动.当您的手指仍在桌面视图上时,请尝试向左/向右滑动,它应该可以正常工作.但是,如果您尝试多次向下滑动表格视图,则会执行此实现,但有时会卡住,因为它会认为您正在尝试向左/向右滑动.有任何想法吗?
原文:我有一些UITcrollView在UIScrollView中启用了分页,并设置为让我左右翻页,这样一次只能看到一个UITableView.这是一个图表(取自UIScrollView中UITableView上的冲突滚动)
+--visible area--+ ---+
+---------`UIScrollView`---------+---------------+| --+|
| +-------------+ +-------------+|+-------------+|| -+||
| | 0 | | 1 ||| 2 ||| |||
| |`UITableView`| |`UITableView`|||`UITableView`||| equal height
| | | | ||| ||| |||
| +-------------+ +-------------+|+-------------+|| -+||
+--------------------------------+---------------+| --+|
+----------------+ ---+
Run Code Online (Sandbox Code Playgroud)
我想要实现的是,如果用户向下滚动表格视图,然后提起他们的手指(并且仍然发生向下滚动动画),则用户可以选择向左和向右滑动以转到下一个表格视图.现在,如果用户向下滚动表格视图,然后抬起他们的手指,同时仍然发生向下滚动动画,然后将他们的手指放回去向左和向右滑动,它将不允许用户向左和向右滚动是的,我被困在查看已经可见的表视图,除非我等待表视图滚动完全停止然后向左和向右滑动.
TL; DR基本上我无法向上/向下滚动表格并同时在滚动视图中向左/向右滑动,但我希望能够做到这一点.这方面的一个例子是在Activity选项卡上的iOS Instagram应用程序中.您可以向下滚动,然后在表格视图仍在滚动时向右滑动.
我在我的模型中定义了以下范围:
scope :upcoming, -> { where(:start_time.gt => Time.now).asc(:start_time) }
scope :in_progress, -> {
now = Time.now
where(:start_time.lte => now).where(:end_time.gte => now).asc(:start_time)
}
Run Code Online (Sandbox Code Playgroud)
我想创建另一个范围,它结合了两个名为current的范围的结果.我试过这样的事情:
scope :current, -> { self.in_progress | self.upcoming }
Run Code Online (Sandbox Code Playgroud)
但这最终只会将它们视为数组并将它们连接起来.这个问题是,当我尝试使用Model.current调用我的作用域时,我收到以下错误消息:
NoMethodError: undefined method `as_conditions' for #<Array:0xaceb008>
Run Code Online (Sandbox Code Playgroud)
这是因为它将Mongoid Criteria对象转换为数组,但我不希望这样.我希望该对象保留为Mongoid Criteria对象.
我真正想要的是in_progress集和即将到来的集合的结合.
有任何想法吗?谢谢.
我在iOS Today Extension上安装了Crashlytics,我遇到了这个奇怪的崩溃.有谁知道为什么会发生这种情况?
致命异常:NSInternalInconsistencyException删除非活动插件com.somecompany.someapp.TodayExtension(1.0)>
它崩溃的线是
11 PlugInKit - [PKService unregisterPersonality:] + 188
在我今天的扩展中,在viewDidLoad中,它将获取用户的当前位置,然后发出网络请求以获取有关该位置的数据.这是否发生是因为我的操作耗时太长而且iOS正在杀死我的扩展程序?我无法重现这一点,但我认为用户看到的是一个空格,其中应该是扩展名,或者除了扩展名的标题之外没有显示任何内容.
Thread : Fatal Exception: NSInternalInconsistencyException
0 CoreFoundation 0x0000000181cc2530 __exceptionPreprocess + 132
1 libobjc.A.dylib 0x0000000192c980e4 objc_exception_throw + 60
2 CoreFoundation 0x0000000181cc23f0 +[NSException raise:format:]
3 Foundation 0x0000000182b6dc34 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 112
4 PlugInKit 0x000000018d1c04a0 __35-[PKService unregisterPersonality:]_block_invoke + 488
5 libdispatch.dylib 0x00000001932e9954 _dispatch_client_callout + 16
6 libdispatch.dylib 0x00000001932f31e4 _dispatch_barrier_sync_f_invoke + 76
7 PlugInKit 0x000000018d1c024c -[PKService unregisterPersonality:] + 188
8 PlugInKit 0x000000018d1bdfec -[PKServicePersonality shutdownPlugIn] + 108
9 CoreFoundation 0x0000000181cc8350 __invoking___ + … 我试图了解reselect方法createStructuredSelector在Typescript中的工作方式。我经常看到这种模式:
export interface SomeProps {
readonly property1: string;
readonly property2: boolean;
readonly property3: number;
}
export interface SomeOwnProps {
readonly property3: number;
}
export const someSelector = createStructuredSelector<
SomeState,
SomeOwnProps,
SomeProps
>({
property1: property1Selector,
property2: property2Selector,
property3: (_, props) => props.property3
});
Run Code Online (Sandbox Code Playgroud)
我不明白尖括号内的类型的目的。我认为这SomeState是Redux存储状态,SomeOwnProps是父组件传递SomeProps的道具,也是该组件使用的所有道具。但是SomeOwnProps和SomeProps和之间有什么区别?为什么同时需要两者?您为什么不能只使用SomeProps它,因为它还包含中定义的属性SomeOwnProps?谢谢!
ios ×2
crashlytics ×1
criteria ×1
mongodb ×1
mongoid ×1
objective-c ×1
react-native ×1
reactjs ×1
redux ×1
reselect ×1
ruby ×1
typescript ×1
uiscrollview ×1
uitableview ×1