美文网首页
accessibilityIdentifier

accessibilityIdentifier

作者: hehtao | 来源:发表于2017-03-20 17:56 被阅读1173次

    UIKit 框架,有这么一个神奇的东西:accessibilityIdentifier

    //
    //  UIAccessibilityIdentification.h
    //  UIKit
    //
    //  Copyright 2010-2012 Apple Inc. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import <UIKit/UIView.h>
    #import <UIKit/UIImage.h>
    #import <UIKit/UIBarItem.h>
    
    NS_ASSUME_NONNULL_BEGIN
    
    @protocol UIAccessibilityIdentification <NSObject>
    @required
    
    /*
     A string that identifies the user interface element.
     default == nil
    */
    @property(nullable, nonatomic, copy) NSString *accessibilityIdentifier NS_AVAILABLE_IOS(5_0);
    
    @end
    
    @interface UIView (UIAccessibility) <UIAccessibilityIdentification>
    @end
    
    @interface UIBarItem (UIAccessibility) <UIAccessibilityIdentification>
    @end
    
    /*
     Defaults to the filename of the image, if available.
     The default identifier for a UIImageView will be the identifier of its UIImage.
     */
    @interface UIImage (UIAccessibility) <UIAccessibilityIdentification>
    @end
    
    NS_ASSUME_NONNULL_END
    
    

    看注释:A string that identifies the user interface element.default ==nil

    意思是说: accessibilityIdentifier是UI元素的一个NSString 标识,#默认值是nil!#有点类似Cell 的ReuseIdentifier了,这也就好理解了;
    

    来个简单🌰:

    UIImageView * picView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 90, 50, 50)];
        picView.image = [UIImage imageNamed:@"add_pic.png"];
        [picView.image setAccessibilityIdentifier:@"add”];
    

    这个图片 “add_pic.png” 的标记 就是 “add” ,当你更换picview的image时,如果不给AccessibilityIdentifier属性重新复制的话,这个属性的值就会变成nil(默认),每个图片都会对应一个专属的AccessibilityIdentifier;方便我们识别图片。

    if ([picView.image.accessibilityIdentifier isEqualToString:@"add"]) {
            <#your code#>
        }else{
            <#your code#>
        }
    

    这样会方便很多,减少bool变量过多带来的问题。

    相关文章

      网友评论

          本文标题:accessibilityIdentifier

          本文链接:https://www.haomeiwen.com/subject/zkjinttx.html