Xcode:如何使用滑动手势更改UIPageControl值?

时间:2013-05-06 01:59:36

标签: objective-c xcode uipagecontrol uiswipegesturerecognizer swipe-gesture

我有一个简短的问题我希望你们能帮助我回答。现在我在故事板中有一个UIPageControl根据你所在的点改变图像,但是,到现在你必须按下点来改变点/图像,我怎样才能改变图像/点通过刷?

这是我的.h

的代码
#import <UIKit/UIKit.h>

@interface PageViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIImageView *dssview;
- (IBAction)changephoto:(UIPageControl *)sender;

@end

这是我的.m

的代码
#import "PageViewController.h"

@interface PageViewController ()
@end

@implementation PageViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
  self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
  if (self) {
    // Custom initialization
  }
  return self;
}

- (void)viewDidLoad
{
  [super viewDidLoad];
  // Do any additional setup after loading the view.
}

- (void)didReceiveMemoryWarning
{
  [super didReceiveMemoryWarning];
  // Dispose of any resources that can be recreated.
}

- (IBAction)changephoto:(UIPageControl *)sender {
  _dssview.image = [UIImage imageNamed:
                    [NSString stringWithFormat:@"%d.jpg",sender.currentPage+1]];
}
@end

非常感谢任何帮助。 感谢

1 个答案:

答案 0 :(得分:15)

您可以根据更新UIPageControl对象的方向,在您的视图和UISwipeGestureRecognizer的选择器方法中添加UISwipeGestureRecognizer,或者递增当前页面或递减。

您可以参考以下代码。 将滑动手势添加到视图控制器

UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)];
swipeLeft.direction = UISwipeGestureRecognizerDirectionLeft;
[self.view addGestureRecognizer:swipeLeft];

UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)];
swipeRight.direction = UISwipeGestureRecognizerDirectionRight;
[self.view addGestureRecognizer:swipeRight];

滑动手势选择器

- (void)swipe:(UISwipeGestureRecognizer *)swipeRecogniser
{
    if ([swipeRecogniser direction] == UISwipeGestureRecognizerDirectionLeft)
    {
         self.pageControl.currentPage -=1;
    }
    else if ([swipeRecogniser direction] == UISwipeGestureRecognizerDirectionRight)
    {
         self.pageControl.currentPage +=1;
    }
    _dssview.image = [UIImage imageNamed:
                [NSString stringWithFormat:@"%d.jpg",self.pageControl.currentPage]];
}
  

在.h文件中为UIPageControl添加插座

@interface PageViewController : UIViewController
@property (strong, nonatomic) IBOutlet UIImageView *dssview;
@property (strong, nonatomic) IBOutlet UIPageControl *pageControl;

 - (IBAction)changephoto:(UIPageControl *)sender;

@end