Chapter 7 Delegation and Text Input

Chapter 7  Delegation and Text Input

 

1. Applications can access the same technology that powers those effects by using the UIInterpolatingMotionEffect class.

 

UILabel *label = [[UILabel alloc] init];

UIInterpolatingMotionEffect *motionEffect;

        motionEffect = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.x" type:UIInterpolatingMotionEffectTypeTiltAlongHorizontalAxis];

        motionEffect.minimumRelativeValue = @(-25);

        motionEffect.maximumRelativeValue = @(25);

        [label addMotionEffect:motionEffect];

        

        motionEffect = [[UIInterpolatingMotionEffect alloc] initWithKeyPath:@"center.y" type:UIInterpolatingMotionEffectTypeTiltAlongVerticalAxis];

        motionEffect.minimumRelativeValue = @(-25);

        motionEffect.maximumRelativeValue = @(25);

        [label addMotionEffect:motionEffect];

 

 

2. To set up the scroll view, you will need to give it one view as a subview and turn off the paging(default NO). The scroll view also needs limits on how much it can zoom in and out. Finally, you need to implement the scroll view delegate method viewForZoomingInScrollView: to return the zoomed view.

 

-(void)loadView

{

    // Create a view

    BNRHypnosisView *backgroundView = [[BNRHypnosisView alloc] init];

    backgroundView.frame = [UIScreen mainScreen].bounds;

    

    CGRect textFieldRect = CGRectMake(40, 70, 240, 30);

    UITextField *textField = [[UITextField alloc] initWithFrame:textFieldRect];

    

    // Setting the border style on the text field will allow us to see it more easily

    textField.borderStyle = UITextBorderStyleRoundedRect;

    textField.returnKeyType = UIReturnKeyDone;

    textField.placeholder = @"Hypnotize me";

    textField.delegate = self;

    

    [backgroundView addSubview:textField];

    

    // Scroll view to pinch the view

    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:[UIScreen mainScreen].bounds];

    scrollView.delegate = self;

    scrollView.minimumZoomScale = .5;

    scrollView.maximumZoomScale = 1.5;

    scrollView.contentSize = CGSizeMake(300, 200);

    

    zoomView = backgroundView;

    

    [scrollView addSubview:backgroundView];

    

    

    // Set it as the view of this view controller

    self.view = scrollView;

}

 

// UIScrollView delegate

-(UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView

{

    return zoomView;

}

posted @ 2014-09-17 17:56  1oo1  阅读(165)  评论(0编辑  收藏  举报