accessibilityIdentifier

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变量过多带来的问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,222评论 30 472
  • 使用iOS AirPrint 让你的APP轻松实现打印功能 2016/05/13 · iOS开发 · 打印分享到:...
    萧城x阅读 6,856评论 2 10
  • 如果想让事情变得顺利,只有靠自己--夏尔·纪尧姆 上一章介绍了隐式动画的概念。隐式动画是在iOS平台创建动态用户界...
    夜空下最亮的亮点阅读 2,000评论 0 1
  • SwiftDay011.MySwiftimport UIKitprintln("Hello Swift!")var...
    smile丽语阅读 3,868评论 0 6
  • 218.241.181.202 wxhl60 123456 192.168.10.253 wxhl66 wxhl6...
    CYC666阅读 1,459评论 0 6