如何从笔尖加载uiview

时间:2012-05-29 01:10:39

标签: iphone ios uiview uiviewcontroller

我试图在刷卡时更改视图。我通过更改背景颜色测试了这个滑动工作查找。

从那时起,我添加了一个新的view.nib,并将该类设置为与当前视图相同。 在这个类.h文件中,我已经完成了这个

@interface MasterViewController : UIViewController <UIGestureRecognizerDelegate>{

    UIView *myView;
    UIView *secondView;
}

@property (strong, nonatomic) IBOutlet UIView *myView; // attached to Viewcontroller nib
@property (strong, nonatomic) IBOutlet UIView *secondView; // attached to the secondView


- (void)swipedScreen;

MyView是首先出现的主视图,secondView是我创建的nib视图,并更改了它与该视图相关的类。

从那里我在.m文件中完成了这个

- (void) setupSwipeGestureRecognizer {
    UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipedScreen)];
    swipeGesture.direction = (UISwipeGestureRecognizerDirectionRight|UISwipeGestureRecognizerDirectionLeft);
    [myView addGestureRecognizer:swipeGesture];
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    self.title = @"Prototype";
    [self setupSwipeGestureRecognizer];
}

- (void)swipedScreen
{
    // Not sure what to do here.
    [[NSBundle mainBundle] loadNibNamed:@"SecondView" owner:self options:nil];

}

我只是不知道在swipedScreen方法中要做什么来让第二个视图出现..我想动画这个视图从右边滑入..但是当时的次要实际上只是让视图到出现......不确定我在这里做错了什么,但显然它是非常基本的东西。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

正如我评论的那样:

- (void)swipedScreen
{
    [UIView animateWithDuration:3.0f delay:0 options:UIViewAnimationOptionCurveLinear
                 animations:^{ 
                         secondView.frame = CGRectMake(180, secondView.frame.origin.y, secondView.frame.size.width, secondView.frame.size.height);
                     }
                 completion:^(BOOL finished){
                         myView.hidden = YES;
                 }];
}

实际上,您需要根据想要设置的方式更改X,Y,宽度和高度值,并在完成后设置主视图 - myView - 隐藏。