我有一个tableView内部,pageViewController当在一个单元格上滑动以显示删除单元格的选项时,只有在某些情况下才能识别出手势,比如说你快速而且积极地滑动.
我想这会发生,因为它不确定滑动手势是用于pageView还是用于tableView.有没有办法专门确定滑动手势发生的位置,以便能够顺利显示删除按钮?
目标是创建一个只能向前导航的UIPageViewController.我正在使用数据源为UIPageViewController提供内容.方向设置为UIPageViewControllerNavigationDirectionForward,过渡样式为UIPageViewControllerTransitionStyleScroll.
实施
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerAfterViewController:(UIViewController *)viewController
{
// returns the next view controller
}
Run Code Online (Sandbox Code Playgroud)
返回下一个视图控制器,而以下应确保无法向后导航
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController viewControllerBeforeViewController:(UIViewController *)viewController
{
return nil;
}
Run Code Online (Sandbox Code Playgroud)
返回nil应表明无法导航(如文档中所述).但是,我总是可以向后滚动一页.假设我有10页,我可以向前滚动所有页面,但在任何页面我都可以向后滚动1页.(例如:在第5页,我可以返回第4页,第8页,我可以返回第7页,依此类推.)
我知道我可以通过不使用数据源并使用setViewControllers:direction:animated:completion:方法来避免这种情况,但我想了解为什么我的尝试失败了.
我在一个ViewController中有3个ViewControllers
ViewPagerController = self - >它是一个viewController并具有UIPageViewController init
ProgramQuestionViewController =它基于ViewPagerController
QuestionViewController =我的内容视图它显示在ProgramViewController的中间
这是我的ViewPagerController
@interface ViewPagerController () <UIPageViewControllerDataSource, UIPageViewControllerDelegate, UIScrollViewDelegate,UIGestureRecognizerDelegate>
{
NSMutableArray *dataAnswers;
}
@property UIScrollView *tabsView;
@property UIView *contentView;
@property UIPageViewController *pageViewController;
@property (assign) id<UIScrollViewDelegate> actualDelegate;
@property (assign)bool isValidPage;
@property (assign)bool isSonraki;
// Tab and content cache
@property NSMutableArray *tabs;
@property NSMutableArray *contents;
// Options
@property (nonatomic) NSNumber *tabHeight;
@property (nonatomic) NSNumber *tabOffset;
@property (nonatomic) NSNumber *tabWidth;
@property (nonatomic) NSNumber *tabLocation;
@property (nonatomic) NSNumber *startFromSecondTab;
@property (nonatomic) NSNumber *centerCurrentTab;
@property (nonatomic) …Run Code Online (Sandbox Code Playgroud) objective-c ipad uigesturerecognizer ios uipageviewcontroller
在我的项目中,我使用UIPageViewController在5个子UIViewController之间滑动.在一些子视图控制器中,我需要禁用UIPageViewController的滑动手势,因此当用户滑动它时不会更改为其他视图.那我怎么能禁用子视图控制器的滑动?
感谢您的帮助.谢谢