iOS6、7、8、9新特性总汇和适配说明 (12)

像Messages app一样在滚动的时候可以让键盘消失是一种非常好的体验。然而,将这种行为整合到你的app很难。幸运的是,苹果给UIScrollView添加了一个很好用的属性keyboardDismissMode,这样可以方便很多。

现在仅仅只需要在Storyboard中改变一个简单的属性,或者增加一行代码,你的app可以和办到和Messages app一样的事情了。

这个属性使用了新的UIScrollViewKeyboardDismissMode enum枚举类型。这个enum枚举类型可能的值如下:

Crayon Syntax Highlighter v2.7.1

UIScrollViewKeyboardDismissModeNone        // the keyboard is not dismissed automatically when scrolling

UIScrollViewKeyboardDismissModeOnDrag      // dismisses the keyboard when a drag begins

UIScrollViewKeyboardDismissModeInteractive // the keyboard follows the dragging touch off screen, and may be

pulled upward again to cancel the dismiss

1

2

3

4

 

UIScrollViewKeyboardDismissModeNone        // the keyboard is not dismissed automatically when scrolling

UIScrollViewKeyboardDismissModeOnDrag      // dismisses the keyboard when a drag begins

UIScrollViewKeyboardDismissModeInteractive // the keyboard follows the dragging touch off screen, and may be

pulled upward again to cancel the dismiss

 

[Format Time: 0.0007 seconds]

以下是让键盘可以在滚动的时候消失需要设置的属性:

 

二十、使用Core Image来检测眨眼以及微笑

iOS给Core Image增加了两种人脸检测功能:CIDetectorEyeBlink以及CIDetectorSmile。这也就是说你现在可以在照片中检测微笑以及眨眼。

以下是在app中使用它的方法:

Crayon Syntax Highlighter v2.7.1

UIImage *image = [UIImage imageNamed:@"myImage"];

CIDetector *detector = [CIDetector detectorOfType:CIDetectorTypeFace

                                          context:nil

                                          options:@{CIDetectorAccuracy: CIDetectorAccuracyHigh}];

 

NSDictionary *options = @{ CIDetectorSmile: @YES, CIDetectorEyeBlink: @YES };

 

NSArray *features = [detector featuresInImage:image.CIImage options:options];

 

for (CIFaceFeature *feature in features) {

    NSLog(@"Bounds: %@", NSStringFromCGRect(feature.bounds));

    

    if (feature.hasSmile) {

        NSLog(@"Nice smile!");

    } else {

        NSLog(@"Why so serious?");

    }

    if (feature.leftEyeClosed || feature.rightEyeClosed) {

        NSLog(@"Open your eyes!");

    }

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

 

UIImage *image = [UIImage imageNamed:@"myImage"];

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwgywp.html