UIScrollViewDelegate 有一个很棒的新方法:
// called on finger up if the user dragged. velocity is in points/second. targetContentOffset may be changed to adjust where the scroll view comes to rest. not called when pagingEnabled is YES
- (void)scrollViewWillEndDraggingUIScrollView *)scrollView
withVelocityCGPoint)velocity
targetContentOffsetinout CGPoint *)targetContentOffset __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0)
但是,这仅适用于 iOS 5。对于没有这种方法的 iOS,我想使用分页作为替代方法。所以我有两个选择:
- 检查iOS版本,我不知道怎么做,或者
- 检查是否为
UIScrollViewDelegate 定义了此方法协议(protocol),我也不知道该怎么做。
我宁愿以某种方式检查协议(protocol)中是否定义了该方法,而不是检查 iOS 版本。请注意,进行 respondsToSelector: 检查是不够的,因为我的实现协议(protocol)的类将始终定义它。
Best Answer-推荐答案 strong>
BOOL isAtLeastIOS5 = [[[UIDevice currentDevice] systemVersion] floatValue] >= 5.0;
见 How to test a protocol for a method?测试给定方法的协议(protocol)。
关于ios - 检查是否定义了协议(protocol)方法,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8053991/
|