实例介绍
原理文章:https://blog.csdn.net/z929118967/article/details/103902362 功能使用:点击demo的右上架文字进行中英文切换 《用户协议及隐私政策》 弹框的实现步骤: 1、自定义TextView,采用富文本属性进行内容设置attributedText(包括下划线NSUnderlineStyleSingle、超链接NSLinkAttributeName 、颜色NSForegroundColorAttributeName 等信息) 2、实现代理方法textView:shouldInteractWithURL:inRange,处理点击超链
【实例截图】
【核心代码】
16359647384655389683.zip
├── __MACOSX
│ └── TextViewHyperLink
│ ├── iUIPageControlFix4iOS14
│ │ ├── Assets.xcassets
│ │ │ └── AccentColor.colorset
│ │ ├── Base.lproj
│ │ ├── Fix4iOS14
│ │ ├── LanguageManager
│ │ ├── Localizable_strings
│ │ │ ├── en.lproj
│ │ │ └── zh-Hans.lproj
│ │ ├── messier
│ │ │ └── messier.framework
│ │ │ └── Modules
│ │ ├── tool
│ │ ├── VC
│ │ ├── zh-Hans.lproj
│ │ └── πÇèτö¿µê╖σìÅΦ««σÅèΘÜÉτºüµö┐τ¡ûπÇïσ╝╣µíå
│ │ ├── AccountLoginViewModel
│ │ ├── QCTTextViewHyperLink
│ │ ├── serviceAgreementView
│ │ └── tool
│ │ ├── HWNavigationController
│ │ │ └── ex
│ │ └── QCTWebViewController
│ └── Pods
└── TextViewHyperLink
├── iUIPageControlFix4iOS14
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── csdn4CurrentImage.imageset
│ │ ├── 2837c5ee-4dad-4295-8ef5-d08763e4526e.jpg
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Fix4iOS14
│ │ ├── UIPageControl+Fix4iOS14.h
│ │ └── UIPageControl+Fix4iOS14.m
│ ├── Info.plist
│ ├── LanguageManager
│ │ ├── KNLanguageManager.h
│ │ └── KNLanguageManager.m
│ ├── Localizable_strings
│ │ ├── en.lproj
│ │ │ └── Localizable.strings
│ │ └── zh-Hans.lproj
│ │ └── Localizable.strings
│ ├── main
│ ├── main.m
│ ├── messier
│ │ └── messier.framework
│ │ ├── Info.plist
│ │ ├── messier
│ │ └── Modules
│ │ └── module.modulemap
│ ├── SceneDelegate.h
│ ├── SceneDelegate.m
│ ├── tool
│ │ ├── KNchangeRootVCTool.h
│ │ └── KNchangeRootVCTool.m
│ ├── VC
│ │ ├── ViewController.h
│ │ └── ViewController.m
│ ├── zh-Hans.lproj
│ │ ├── LaunchScreen.strings
│ │ └── Main.strings
│ └── πÇèτö¿µê╖σìÅΦ««σÅèΘÜÉτºüµö┐τ¡ûπÇïσ╝╣µíå
│ ├── AccountLoginViewModel
│ │ ├── AccountLoginViewModel.h
│ │ └── AccountLoginViewModel.m
│ ├── QCTTextViewHyperLink
│ │ ├── QCTConsts.h
│ │ ├── QCTConsts.m
│ │ ├── QCTTextViewHyperLink.h
│ │ └── QCTTextViewHyperLink.m
│ ├── serviceAgreementView
│ │ ├── QCTserviceAgreementView.h
│ │ └── QCTserviceAgreementView.m
│ └── tool
│ ├── HSSingleton.h
│ ├── HWNavigationController
│ │ ├── ex
│ │ │ ├── ImageTools.h
│ │ │ ├── ImageTools.m
│ │ │ ├── UIBarButtonItem+Extension.h
│ │ │ └── UIBarButtonItem+Extension.m
│ │ ├── GYQBaseBarItem.h
│ │ ├── GYQBaseBarItem.m
│ │ ├── HWNavigationController.h
│ │ ├── HWNavigationController.m
│ │ ├── ImageTools.h
│ │ ├── ImageTools.m
│ │ ├── UIBarButtonItem+Extension.h
│ │ ├── UIBarButtonItem+Extension.m
│ │ ├── UIImage+Extension.h
│ │ ├── UIImage+Extension.m
│ │ ├── UIView+Extension.h
│ │ └── UIView+Extension.m
│ ├── QCTSession.h
│ ├── QCTSession.m
│ ├── QCTWebViewController
│ │ ├── QCTWebViewController.h
│ │ └── QCTWebViewController.m
│ ├── STModal.h
│ └── STModal.m
├── iUIPageControlFix4iOS14.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcuserdata
│ │ └── mac.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ ├── xcshareddata
│ │ └── xcschemes
│ │ └── iUIPageControlFix4iOS14.xcscheme
│ └── xcuserdata
│ └── mac.xcuserdatad
│ └── xcschemes
│ └── xcschememanagement.plist
├── iUIPageControlFix4iOS14.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── xcuserdata
│ └── mac.xcuserdatad
│ ├── UserInterfaceState.xcuserstate
│ └── xcdebugger
│ └── Breakpoints_v2.xcbkptlist
├── Podfile
├── Podfile.lock
├── Pods
│ ├── Aspects
│ │ ├── Aspects.h
│ │ ├── Aspects.m
│ │ ├── LICENSE
│ │ └── README.md
│ ├── AXIndicatorView
│ │ ├── AXIndicatorView
│ │ │ └── Classes
│ │ │ ├── AXActivityIndicatorView.h
│ │ │ ├── AXActivityIndicatorView.m
│ │ │ ├── AXBreachedAnnulusIndicatorView.h
│ │ │ ├── AXBreachedAnnulusIndicatorView.m
│ │ │ ├── AXIndicatorView.bundle
│ │ │ │ ├── SpinningWaitCursor@2x.png
│ │ │ │ └── SpinningWaitCursor@3x.png
│ │ │ ├── AXIndicatorView.h
│ │ │ ├── AXSpinningWaitCursor.h
│ │ │ └── AXSpinningWaitCursor.m
│ │ ├── LICENSE
│ │ └── README.md
│ ├── AXNavigationBackItemInjection
│ │ ├── AXNavigationBackItemInjection
│ │ │ └── AXNavigationBackItemInjection
│ │ │ ├── AXPopNavigationController.h
│ │ │ └── AXPopNavigationController.m
│ │ ├── LICENSE
│ │ └── README.md
│ ├── AXPracticalHUD
│ │ ├── AXPracticalHUD
│ │ │ └── AXPracticalHUD
│ │ │ ├── Animators
│ │ │ │ ├── AXPracticalHUDAnimator.h
│ │ │ │ └── AXPracticalHUDAnimator.m
│ │ │ ├── AXPracticalHUD.bundle
│ │ │ │ ├── ax_hud_error@2x.png
│ │ │ │ ├── ax_hud_error@3x.png
│ │ │ │ ├── ax_hud_success@2x.png
│ │ │ │ └── ax_hud_success@3x.png
│ │ │ ├── AXPracticalHUD.h
│ │ │ ├── AXPracticalHUD.m
│ │ │ ├── ContentView
│ │ │ │ ├── AXPracticalHUDContentView.h
│ │ │ │ └── AXPracticalHUDContentView.m
│ │ │ └── ProgressViews
│ │ │ ├── AXBarProgressView.h
│ │ │ ├── AXBarProgressView.m
│ │ │ ├── AXCircleProgressView.h
│ │ │ ├── AXCircleProgressView.m
│ │ │ ├── AXGradientProgressView.h
│ │ │ └── AXGradientProgressView.m
│ │ ├── LICENSE
│ │ └── README.md
│ ├── AXWebViewController
│ │ ├── AXWebViewController
│ │ │ └── AXWebViewController
│ │ │ ├── Activity
│ │ │ │ ├── AXWebViewControllerActivity.h
│ │ │ │ └── AXWebViewControllerActivity.m
│ │ │ ├── AXWebViewController.bundle
│ │ │ │ ├── AXWebViewControllerActivityChrome@2x.png
│ │ │ │ ├── AXWebViewControllerActivityChrome-iPad@2x.png
│ │ │ │ ├── AXWebViewControllerActivityChrome-iPad.png
│ │ │ │ ├── AXWebViewControllerActivitySafari@2x.png
│ │ │ │ ├── AXWebViewControllerActivitySafari-iPad@2x.png
│ │ │ │ ├── AXWebViewControllerActivitySafari-iPad.png
│ │ │ │ ├── AXWebViewControllerBack@2x.png
│ │ │ │ ├── AXWebViewControllerBack.png
│ │ │ │ ├── AXWebViewControllerNext@2x.png
│ │ │ │ ├── AXWebViewControllerNext.png
│ │ │ │ ├── backItemImage@2x.png
│ │ │ │ ├── backItemImage_hl@2x.png
│ │ │ │ ├── en.lproj
│ │ │ │ │ └── AXWebViewController.strings
│ │ │ │ ├── html.bundle
│ │ │ │ │ ├── 404.html
│ │ │ │ │ ├── css
│ │ │ │ │ │ └── nosingle.css
│ │ │ │ │ ├── img
│ │ │ │ │ │ ├── 404.png
│ │ │ │ │ │ └── nosingle.png
│ │ │ │ │ ├── js
│ │ │ │ │ │ └── jquery-2.1.1.min.js
│ │ │ │ │ └── neterror.html
│ │ │ │ ├── zh-Hans.lproj
│ │ │ │ │ └── AXWebViewController.strings
│ │ │ │ └── zh-Hant.lproj
│ │ │ │ └── AXWebViewController.strings
│ │ │ ├── AXWebViewController.h
│ │ │ ├── AXWebViewController.m
│ │ │ └── Security
│ │ │ ├── AXSecurityPolicy.h
│ │ │ └── AXSecurityPolicy.m
│ │ ├── LICENSE
│ │ └── README.md
│ ├── Headers
│ │ ├── Private
│ │ │ ├── Aspects
│ │ │ │ └── Aspects.h
│ │ │ ├── AXIndicatorView
│ │ │ │ ├── AXActivityIndicatorView.h
│ │ │ │ ├── AXBreachedAnnulusIndicatorView.h
│ │ │ │ ├── AXIndicatorView.h
│ │ │ │ └── AXSpinningWaitCursor.h
│ │ │ ├── AXNavigationBackItemInjection
│ │ │ │ └── AXPopNavigationController.h
│ │ │ ├── AXPracticalHUD
│ │ │ │ ├── AXBarProgressView.h
│ │ │ │ ├── AXCircleProgressView.h
│ │ │ │ ├── AXGradientProgressView.h
│ │ │ │ ├── AXPracticalHUDAnimator.h
│ │ │ │ ├── AXPracticalHUDContentView.h
│ │ │ │ └── AXPracticalHUD.h
│ │ │ ├── AXWebViewController
│ │ │ │ ├── AXSecurityPolicy.h
│ │ │ │ ├── AXWebViewControllerActivity.h
│ │ │ │ └── AXWebViewController.h
│ │ │ ├── Masonry
│ │ │ │ ├── MASCompositeConstraint.h
│ │ │ │ ├── MASConstraint.h
│ │ │ │ ├── MASConstraintMaker.h
│ │ │ │ ├── MASConstraint+Private.h
│ │ │ │ ├── MASLayoutConstraint.h
│ │ │ │ ├── Masonry.h
│ │ │ │ ├── MASUtilities.h
│ │ │ │ ├── MASViewAttribute.h
│ │ │ │ ├── MASViewConstraint.h
│ │ │ │ ├── NSArray+MASAdditions.h
│ │ │ │ ├── NSArray+MASShorthandAdditions.h
│ │ │ │ ├── NSLayoutConstraint+MASDebugAdditions.h
│ │ │ │ ├── ViewController+MASAdditions.h
│ │ │ │ ├── View+MASAdditions.h
│ │ │ │ └── View+MASShorthandAdditions.h
│ │ │ ├── NJKWebViewProgress
│ │ │ │ ├── NJKWebViewProgress.h
│ │ │ │ └── NJKWebViewProgressView.h
│ │ │ └── ReactiveObjC
│ │ │ ├── MKAnnotationView+RACSignalSupport.h
│ │ │ ├── NSArray+RACSequenceAdditions.h
│ │ │ ├── NSData+RACSupport.h
│ │ │ ├── NSDictionary+RACSequenceAdditions.h
│ │ │ ├── NSEnumerator+RACSequenceAdditions.h
│ │ │ ├── NSFileHandle+RACSupport.h
│ │ │ ├── NSIndexSet+RACSequenceAdditions.h
│ │ │ ├── NSInvocation+RACTypeParsing.h
│ │ │ ├── NSNotificationCenter+RACSupport.h
│ │ │ ├── NSObject+RACDeallocating.h
│ │ │ ├── NSObject+RACDescription.h
│ │ │ ├── NSObject+RACKVOWrapper.h
│ │ │ ├── NSObject+RACLifting.h
│ │ │ ├── NSObject+RACPropertySubscribing.h
│ │ │ ├── NSObject+RACSelectorSignal.h
│ │ │ ├── NSOrderedSet+RACSequenceAdditions.h
│ │ │ ├── NSSet+RACSequenceAdditions.h
│ │ │ ├── NSString+RACKeyPathUtilities.h
│ │ │ ├── NSString+RACSequenceAdditions.h
│ │ │ ├── NSString+RACSupport.h
│ │ │ ├── NSURLConnection+RACSupport.h
│ │ │ ├── NSUserDefaults+RACSupport.h
│ │ │ ├── RACAnnotations.h
│ │ │ ├── RACArraySequence.h
│ │ │ ├── RACBehaviorSubject.h
│ │ │ ├── RACBlockTrampoline.h
│ │ │ ├── RACChannel.h
│ │ │ ├── RACCommand.h
│ │ │ ├── RACCompoundDisposable.h
│ │ │ ├── RACDelegateProxy.h
│ │ │ ├── RACDisposable.h
│ │ │ ├── RACDynamicSequence.h
│ │ │ ├── RACDynamicSignal.h
│ │ │ ├── RACEagerSequence.h
│ │ │ ├── RACEmptySequence.h
│ │ │ ├── RACEmptySignal.h
│ │ │ ├── RACErrorSignal.h
│ │ │ ├── RACEvent.h
│ │ │ ├── RACEXTKeyPathCoding.h
│ │ │ ├── RACEXTRuntimeExtensions.h
│ │ │ ├── RACEXTScope.h
│ │ │ ├── RACGroupedSignal.h
│ │ │ ├── RACImmediateScheduler.h
│ │ │ ├── RACIndexSetSequence.h
│ │ │ ├── RACKVOChannel.h
│ │ │ ├── RACKVOProxy.h
│ │ │ ├── RACKVOTrampoline.h
│ │ │ ├── RACmetamacros.h
│ │ │ ├── RACMulticastConnection.h
│ │ │ ├── RACMulticastConnection+Private.h
│ │ │ ├── RACPassthroughSubscriber.h
│ │ │ ├── RACQueueScheduler.h
│ │ │ ├── RACQueueScheduler+Subclass.h
│ │ │ ├── RACReplaySubject.h
│ │ │ ├── RACReturnSignal.h
│ │ │ ├── RACScheduler.h
│ │ │ ├── RACScheduler+Private.h
│ │ │ ├── RACScheduler+Subclass.h
│ │ │ ├── RACScopedDisposable.h
│ │ │ ├── RACSequence.h
│ │ │ ├── RACSerialDisposable.h
│ │ │ ├── RACSignal.h
│ │ │ ├── RACSignal+Operations.h
│ │ │ ├── RACSignalSequence.h
│ │ │ ├── RACStream.h
│ │ │ ├── RACStream+Private.h
│ │ │ ├── RACStringSequence.h
│ │ │ ├── RACSubject.h
│ │ │ ├── RACSubscriber.h
│ │ │ ├── RACSubscriber+Private.h
│ │ │ ├── RACSubscriptingAssignmentTrampoline.h
│ │ │ ├── RACSubscriptionScheduler.h
│ │ │ ├── RACTargetQueueScheduler.h
│ │ │ ├── RACTestScheduler.h
│ │ │ ├── RACTuple.h
│ │ │ ├── RACTupleSequence.h
│ │ │ ├── RACUnarySequence.h
│ │ │ ├── RACUnit.h
│ │ │ ├── RACValueTransformer.h
│ │ │ ├── ReactiveObjC.h
│ │ │ ├── UIActionSheet+RACSignalSupport.h
│ │ │ ├── UIAlertView+RACSignalSupport.h
│ │ │ ├── UIBarButtonItem+RACCommandSupport.h
│ │ │ ├── UIButton+RACCommandSupport.h
│ │ │ ├── UICollectionReusableView+RACSignalSupport.h
│ │ │ ├── UIControl+RACSignalSupport.h
│ │ │ ├── UIControl+RACSignalSupportPrivate.h
│ │ │ ├── UIDatePicker+RACSignalSupport.h
│ │ │ ├── UIGestureRecognizer+RACSignalSupport.h
│ │ │ ├── UIImagePickerController+RACSignalSupport.h
│ │ │ ├── UIRefreshControl+RACCommandSupport.h
│ │ │ ├── UISegmentedControl+RACSignalSupport.h
│ │ │ ├── UISlider+RACSignalSupport.h
│ │ │ ├── UIStepper+RACSignalSupport.h
│ │ │ ├── UISwitch+RACSignalSupport.h
│ │ │ ├── UITableViewCell+RACSignalSupport.h
│ │ │ ├── UITableViewHeaderFooterView+RACSignalSupport.h
│ │ │ ├── UITextField+RACSignalSupport.h
│ │ │ └── UITextView+RACSignalSupport.h
│ │ └── Public
│ │ ├── Aspects
│ │ │ └── Aspects.h
│ │ ├── AXIndicatorView
│ │ │ ├── AXActivityIndicatorView.h
│ │ │ ├── AXBreachedAnnulusIndicatorView.h
│ │ │ ├── AXIndicatorView.h
│ │ │ └── AXSpinningWaitCursor.h
│ │ ├── AXNavigationBackItemInjection
│ │ │ └── AXPopNavigationController.h
│ │ ├── AXPracticalHUD
│ │ │ ├── AXBarProgressView.h
│ │ │ ├── AXCircleProgressView.h
│ │ │ ├── AXGradientProgressView.h
│ │ │ ├── AXPracticalHUDAnimator.h
│ │ │ ├── AXPracticalHUDContentView.h
│ │ │ └── AXPracticalHUD.h
│ │ ├── AXWebViewController
│ │ │ ├── AXSecurityPolicy.h
│ │ │ ├── AXWebViewControllerActivity.h
│ │ │ └── AXWebViewController.h
│ │ ├── Masonry
│ │ │ ├── MASCompositeConstraint.h
│ │ │ ├── MASConstraint.h
│ │ │ ├── MASConstraintMaker.h
│ │ │ ├── MASConstraint+Private.h
│ │ │ ├── MASLayoutConstraint.h
│ │ │ ├── Masonry.h
│ │ │ ├── MASUtilities.h
│ │ │ ├── MASViewAttribute.h
│ │ │ ├── MASViewConstraint.h
│ │ │ ├── NSArray+MASAdditions.h
│ │ │ ├── NSArray+MASShorthandAdditions.h
│ │ │ ├── NSLayoutConstraint+MASDebugAdditions.h
│ │ │ ├── ViewController+MASAdditions.h
│ │ │ ├── View+MASAdditions.h
│ │ │ └── View+MASShorthandAdditions.h
│ │ ├── NJKWebViewProgress
│ │ │ ├── NJKWebViewProgress.h
│ │ │ └── NJKWebViewProgressView.h
│ │ └── ReactiveObjC
│ │ ├── MKAnnotationView+RACSignalSupport.h
│ │ ├── NSArray+RACSequenceAdditions.h
│ │ ├── NSData+RACSupport.h
│ │ ├── NSDictionary+RACSequenceAdditions.h
│ │ ├── NSEnumerator+RACSequenceAdditions.h
│ │ ├── NSFileHandle+RACSupport.h
│ │ ├── NSIndexSet+RACSequenceAdditions.h
│ │ ├── NSInvocation+RACTypeParsing.h
│ │ ├── NSNotificationCenter+RACSupport.h
│ │ ├── NSObject+RACDeallocating.h
│ │ ├── NSObject+RACDescription.h
│ │ ├── NSObject+RACKVOWrapper.h
│ │ ├── NSObject+RACLifting.h
│ │ ├── NSObject+RACPropertySubscribing.h
│ │ ├── NSObject+RACSelectorSignal.h
│ │ ├── NSOrderedSet+RACSequenceAdditions.h
│ │ ├── NSSet+RACSequenceAdditions.h
│ │ ├── NSString+RACKeyPathUtilities.h
│ │ ├── NSString+RACSequenceAdditions.h
│ │ ├── NSString+RACSupport.h
│ │ ├── NSURLConnection+RACSupport.h
│ │ ├── NSUserDefaults+RACSupport.h
│ │ ├── RACAnnotations.h
│ │ ├── RACArraySequence.h
│ │ ├── RACBehaviorSubject.h
│ │ ├── RACBlockTrampoline.h
│ │ ├── RACChannel.h
│ │ ├── RACCommand.h
│ │ ├── RACCompoundDisposable.h
│ │ ├── RACDelegateProxy.h
│ │ ├── RACDisposable.h
│ │ ├── RACDynamicSequence.h
│ │ ├── RACDynamicSignal.h
│ │ ├── RACEagerSequence.h
│ │ ├── RACErrorSignal.h
│ │ ├── RACEvent.h
│ │ ├── RACEXTKeyPathCoding.h
│ │ ├── RACEXTScope.h
│ │ ├── RACGroupedSignal.h
│ │ ├── RACImmediateScheduler.h
│ │ ├── RACIndexSetSequence.h
│ │ ├── RACKVOChannel.h
│ │ ├── RACKVOProxy.h
│ │ ├── RACKVOTrampoline.h
│ │ ├── RACmetamacros.h
│ │ ├── RACMulticastConnection.h
│ │ ├── RACPassthroughSubscriber.h
│ │ ├── RACQueueScheduler.h
│ │ ├── RACQueueScheduler+Subclass.h
│ │ ├── RACReplaySubject.h
│ │ ├── RACReturnSignal.h
│ │ ├── RACScheduler.h
│ │ ├── RACScheduler+Subclass.h
│ │ ├── RACScopedDisposable.h
│ │ ├── RACSequence.h
│ │ ├── RACSerialDisposable.h
│ │ ├── RACSignal.h
│ │ ├── RACSignal+Operations.h
│ │ ├── RACSignalSequence.h
│ │ ├── RACStream.h
│ │ ├── RACStringSequence.h
│ │ ├── RACSubject.h
│ │ ├── RACSubscriber.h
│ │ ├── RACSubscriptingAssignmentTrampoline.h
│ │ ├── RACSubscriptionScheduler.h
│ │ ├── RACTargetQueueScheduler.h
│ │ ├── RACTestScheduler.h
│ │ ├── RACTuple.h
│ │ ├── RACTupleSequence.h
│ │ ├── RACUnarySequence.h
│ │ ├── RACUnit.h
│ │ ├── RACValueTransformer.h
│ │ ├── ReactiveObjC.h
│ │ ├── UIActionSheet+RACSignalSupport.h
│ │ ├── UIAlertView+RACSignalSupport.h
│ │ ├── UIBarButtonItem+RACCommandSupport.h
│ │ ├── UIButton+RACCommandSupport.h
│ │ ├── UICollectionReusableView+RACSignalSupport.h
│ │ ├── UIControl+RACSignalSupport.h
│ │ ├── UIDatePicker+RACSignalSupport.h
│ │ ├── UIGestureRecognizer+RACSignalSupport.h
│ │ ├── UIImagePickerController+RACSignalSupport.h
│ │ ├── UIRefreshControl+RACCommandSupport.h
│ │ ├── UISegmentedControl+RACSignalSupport.h
│ │ ├── UISlider+RACSignalSupport.h
│ │ ├── UIStepper+RACSignalSupport.h
│ │ ├── UISwitch+RACSignalSupport.h
│ │ ├── UITableViewCell+RACSignalSupport.h
│ │ ├── UITableViewHeaderFooterView+RACSignalSupport.h
│ │ ├── UITextField+RACSignalSupport.h
│ │ └── UITextView+RACSignalSupport.h
│ ├── Local Podspecs
│ ├── Manifest.lock
│ ├── Masonry
│ │ ├── LICENSE
│ │ ├── Masonry
│ │ │ ├── MASCompositeConstraint.h
│ │ │ ├── MASCompositeConstraint.m
│ │ │ ├── MASConstraint.h
│ │ │ ├── MASConstraint.m
│ │ │ ├── MASConstraintMaker.h
│ │ │ ├── MASConstraintMaker.m
│ │ │ ├── MASConstraint+Private.h
│ │ │ ├── MASLayoutConstraint.h
│ │ │ ├── MASLayoutConstraint.m
│ │ │ ├── Masonry.h
│ │ │ ├── MASUtilities.h
│ │ │ ├── MASViewAttribute.h
│ │ │ ├── MASViewAttribute.m
│ │ │ ├── MASViewConstraint.h
│ │ │ ├── MASViewConstraint.m
│ │ │ ├── NSArray+MASAdditions.h
│ │ │ ├── NSArray+MASAdditions.m
│ │ │ ├── NSArray+MASShorthandAdditions.h
│ │ │ ├── NSLayoutConstraint+MASDebugAdditions.h
│ │ │ ├── NSLayoutConstraint+MASDebugAdditions.m
│ │ │ ├── ViewController+MASAdditions.h
│ │ │ ├── ViewController+MASAdditions.m
│ │ │ ├── View+MASAdditions.h
│ │ │ ├── View+MASAdditions.m
│ │ │ └── View+MASShorthandAdditions.h
│ │ └── README.md
│ ├── NJKWebViewProgress
│ │ ├── LICENSE
│ │ ├── NJKWebViewProgress
│ │ │ ├── NJKWebViewProgress.h
│ │ │ ├── NJKWebViewProgress.m
│ │ │ ├── NJKWebViewProgressView.h
│ │ │ └── NJKWebViewProgressView.m
│ │ └── README.md
│ ├── Pods.xcodeproj
│ │ ├── project.pbxproj
│ │ └── xcuserdata
│ │ └── mac.xcuserdatad
│ │ └── xcschemes
│ │ ├── Aspects.xcscheme
│ │ ├── AXIndicatorView.xcscheme
│ │ ├── AXNavigationBackItemInjection.xcscheme
│ │ ├── AXPracticalHUD.xcscheme
│ │ ├── AXWebViewController.xcscheme
│ │ ├── Masonry.xcscheme
│ │ ├── NJKWebViewProgress.xcscheme
│ │ ├── Pods-iUIPageControlFix4iOS14.xcscheme
│ │ ├── ReactiveObjC.xcscheme
│ │ └── xcschememanagement.plist
│ ├── ReactiveObjC
│ │ ├── LICENSE.md
│ │ ├── ReactiveObjC
│ │ │ ├── extobjc
│ │ │ │ ├── RACEXTKeyPathCoding.h
│ │ │ │ ├── RACEXTRuntimeExtensions.h
│ │ │ │ ├── RACEXTRuntimeExtensions.m
│ │ │ │ ├── RACEXTScope.h
│ │ │ │ └── RACmetamacros.h
│ │ │ ├── MKAnnotationView+RACSignalSupport.h
│ │ │ ├── MKAnnotationView+RACSignalSupport.m
│ │ │ ├── NSArray+RACSequenceAdditions.h
│ │ │ ├── NSArray+RACSequenceAdditions.m
│ │ │ ├── NSData+RACSupport.h
│ │ │ ├── NSData+RACSupport.m
│ │ │ ├── NSDictionary+RACSequenceAdditions.h
│ │ │ ├── NSDictionary+RACSequenceAdditions.m
│ │ │ ├── NSEnumerator+RACSequenceAdditions.h
│ │ │ ├── NSEnumerator+RACSequenceAdditions.m
│ │ │ ├── NSFileHandle+RACSupport.h
│ │ │ ├── NSFileHandle+RACSupport.m
│ │ │ ├── NSIndexSet+RACSequenceAdditions.h
│ │ │ ├── NSIndexSet+RACSequenceAdditions.m
│ │ │ ├── NSInvocation+RACTypeParsing.h
│ │ │ ├── NSInvocation+RACTypeParsing.m
│ │ │ ├── NSNotificationCenter+RACSupport.h
│ │ │ ├── NSNotificationCenter+RACSupport.m
│ │ │ ├── NSObject+RACDeallocating.h
│ │ │ ├── NSObject+RACDeallocating.m
│ │ │ ├── NSObject+RACDescription.h
│ │ │ ├── NSObject+RACDescription.m
│ │ │ ├── NSObject+RACKVOWrapper.h
│ │ │ ├── NSObject+RACKVOWrapper.m
│ │ │ ├── NSObject+RACLifting.h
│ │ │ ├── NSObject+RACLifting.m
│ │ │ ├── NSObject+RACPropertySubscribing.h
│ │ │ ├── NSObject+RACPropertySubscribing.m
│ │ │ ├── NSObject+RACSelectorSignal.h
│ │ │ ├── NSObject+RACSelectorSignal.m
│ │ │ ├── NSOrderedSet+RACSequenceAdditions.h
│ │ │ ├── NSOrderedSet+RACSequenceAdditions.m
│ │ │ ├── NSSet+RACSequenceAdditions.h
│ │ │ ├── NSSet+RACSequenceAdditions.m
│ │ │ ├── NSString+RACKeyPathUtilities.h
│ │ │ ├── NSString+RACKeyPathUtilities.m
│ │ │ ├── NSString+RACSequenceAdditions.h
│ │ │ ├── NSString+RACSequenceAdditions.m
│ │ │ ├── NSString+RACSupport.h
│ │ │ ├── NSString+RACSupport.m
│ │ │ ├── NSURLConnection+RACSupport.h
│ │ │ ├── NSURLConnection+RACSupport.m
│ │ │ ├── NSUserDefaults+RACSupport.h
│ │ │ ├── NSUserDefaults+RACSupport.m
│ │ │ ├── RACAnnotations.h
│ │ │ ├── RACArraySequence.h
│ │ │ ├── RACArraySequence.m
│ │ │ ├── RACBehaviorSubject.h
│ │ │ ├── RACBehaviorSubject.m
│ │ │ ├── RACBlockTrampoline.h
│ │ │ ├── RACBlockTrampoline.m
│ │ │ ├── RACChannel.h
│ │ │ ├── RACChannel.m
│ │ │ ├── RACCommand.h
│ │ │ ├── RACCommand.m
│ │ │ ├── RACCompoundDisposable.h
│ │ │ ├── RACCompoundDisposable.m
│ │ │ ├── RACCompoundDisposableProvider.d
│ │ │ ├── RACDelegateProxy.h
│ │ │ ├── RACDelegateProxy.m
│ │ │ ├── RACDisposable.h
│ │ │ ├── RACDisposable.m
│ │ │ ├── RACDynamicSequence.h
│ │ │ ├── RACDynamicSequence.m
│ │ │ ├── RACDynamicSignal.h
│ │ │ ├── RACDynamicSignal.m
│ │ │ ├── RACEagerSequence.h
│ │ │ ├── RACEagerSequence.m
│ │ │ ├── RACEmptySequence.h
│ │ │ ├── RACEmptySequence.m
│ │ │ ├── RACEmptySignal.h
│ │ │ ├── RACEmptySignal.m
│ │ │ ├── RACErrorSignal.h
│ │ │ ├── RACErrorSignal.m
│ │ │ ├── RACEvent.h
│ │ │ ├── RACEvent.m
│ │ │ ├── RACGroupedSignal.h
│ │ │ ├── RACGroupedSignal.m
│ │ │ ├── RACImmediateScheduler.h
│ │ │ ├── RACImmediateScheduler.m
│ │ │ ├── RACIndexSetSequence.h
│ │ │ ├── RACIndexSetSequence.m
│ │ │ ├── RACKVOChannel.h
│ │ │ ├── RACKVOChannel.m
│ │ │ ├── RACKVOProxy.h
│ │ │ ├── RACKVOProxy.m
│ │ │ ├── RACKVOTrampoline.h
│ │ │ ├── RACKVOTrampoline.m
│ │ │ ├── RACMulticastConnection.h
│ │ │ ├── RACMulticastConnection.m
│ │ │ ├── RACMulticastConnection+Private.h
│ │ │ ├── RACPassthroughSubscriber.h
│ │ │ ├── RACPassthroughSubscriber.m
│ │ │ ├── RACQueueScheduler.h
│ │ │ ├── RACQueueScheduler.m
│ │ │ ├── RACQueueScheduler+Subclass.h
│ │ │ ├── RACReplaySubject.h
│ │ │ ├── RACReplaySubject.m
│ │ │ ├── RACReturnSignal.h
│ │ │ ├── RACReturnSignal.m
│ │ │ ├── RACScheduler.h
│ │ │ ├── RACScheduler.m
│ │ │ ├── RACScheduler+Private.h
│ │ │ ├── RACScheduler+Subclass.h
│ │ │ ├── RACScopedDisposable.h
│ │ │ ├── RACScopedDisposable.m
│ │ │ ├── RACSequence.h
│ │ │ ├── RACSequence.m
│ │ │ ├── RACSerialDisposable.h
│ │ │ ├── RACSerialDisposable.m
│ │ │ ├── RACSignal.h
│ │ │ ├── RACSignal.m
│ │ │ ├── RACSignal+Operations.h
│ │ │ ├── RACSignal+Operations.m
│ │ │ ├── RACSignalProvider.d
│ │ │ ├── RACSignalSequence.h
│ │ │ ├── RACSignalSequence.m
│ │ │ ├── RACStream.h
│ │ │ ├── RACStream.m
│ │ │ ├── RACStream+Private.h
│ │ │ ├── RACStringSequence.h
│ │ │ ├── RACStringSequence.m
│ │ │ ├── RACSubject.h
│ │ │ ├── RACSubject.m
│ │ │ ├── RACSubscriber.h
│ │ │ ├── RACSubscriber.m
│ │ │ ├── RACSubscriber+Private.h
│ │ │ ├── RACSubscriptingAssignmentTrampoline.h
│ │ │ ├── RACSubscriptingAssignmentTrampoline.m
│ │ │ ├── RACSubscriptionScheduler.h
│ │ │ ├── RACSubscriptionScheduler.m
│ │ │ ├── RACTargetQueueScheduler.h
│ │ │ ├── RACTargetQueueScheduler.m
│ │ │ ├── RACTestScheduler.h
│ │ │ ├── RACTestScheduler.m
│ │ │ ├── RACTuple.h
│ │ │ ├── RACTuple.m
│ │ │ ├── RACTupleSequence.h
│ │ │ ├── RACTupleSequence.m
│ │ │ ├── RACUnarySequence.h
│ │ │ ├── RACUnarySequence.m
│ │ │ ├── RACUnit.h
│ │ │ ├── RACUnit.m
│ │ │ ├── RACValueTransformer.h
│ │ │ ├── RACValueTransformer.m
│ │ │ ├── ReactiveObjC.h
│ │ │ ├── UIActionSheet+RACSignalSupport.h
│ │ │ ├── UIActionSheet+RACSignalSupport.m
│ │ │ ├── UIAlertView+RACSignalSupport.h
│ │ │ ├── UIAlertView+RACSignalSupport.m
│ │ │ ├── UIBarButtonItem+RACCommandSupport.h
│ │ │ ├── UIBarButtonItem+RACCommandSupport.m
│ │ │ ├── UIButton+RACCommandSupport.h
│ │ │ ├── UIButton+RACCommandSupport.m
│ │ │ ├── UICollectionReusableView+RACSignalSupport.h
│ │ │ ├── UICollectionReusableView+RACSignalSupport.m
│ │ │ ├── UIControl+RACSignalSupport.h
│ │ │ ├── UIControl+RACSignalSupport.m
│ │ │ ├── UIControl+RACSignalSupportPrivate.h
│ │ │ ├── UIControl+RACSignalSupportPrivate.m
│ │ │ ├── UIDatePicker+RACSignalSupport.h
│ │ │ ├── UIDatePicker+RACSignalSupport.m
│ │ │ ├── UIGestureRecognizer+RACSignalSupport.h
│ │ │ ├── UIGestureRecognizer+RACSignalSupport.m
│ │ │ ├── UIImagePickerController+RACSignalSupport.h
│ │ │ ├── UIImagePickerController+RACSignalSupport.m
│ │ │ ├── UIRefreshControl+RACCommandSupport.h
│ │ │ ├── UIRefreshControl+RACCommandSupport.m
│ │ │ ├── UISegmentedControl+RACSignalSupport.h
│ │ │ ├── UISegmentedControl+RACSignalSupport.m
│ │ │ ├── UISlider+RACSignalSupport.h
│ │ │ ├── UISlider+RACSignalSupport.m
│ │ │ ├── UIStepper+RACSignalSupport.h
│ │ │ ├── UIStepper+RACSignalSupport.m
│ │ │ ├── UISwitch+RACSignalSupport.h
│ │ │ ├── UISwitch+RACSignalSupport.m
│ │ │ ├── UITableViewCell+RACSignalSupport.h
│ │ │ ├── UITableViewCell+RACSignalSupport.m
│ │ │ ├── UITableViewHeaderFooterView+RACSignalSupport.h
│ │ │ ├── UITableViewHeaderFooterView+RACSignalSupport.m
│ │ │ ├── UITextField+RACSignalSupport.h
│ │ │ ├── UITextField+RACSignalSupport.m
│ │ │ ├── UITextView+RACSignalSupport.h
│ │ │ └── UITextView+RACSignalSupport.m
│ │ └── README.md
│ └── Target Support Files
│ ├── Aspects
│ │ ├── Aspects.debug.xcconfig
│ │ ├── Aspects-dummy.m
│ │ ├── Aspects-prefix.pch
│ │ └── Aspects.release.xcconfig
│ ├── AXIndicatorView
│ │ ├── AXIndicatorView.debug.xcconfig
│ │ ├── AXIndicatorView-dummy.m
│ │ ├── AXIndicatorView-prefix.pch
│ │ └── AXIndicatorView.release.xcconfig
│ ├── AXNavigationBackItemInjection
│ │ ├── AXNavigationBackItemInjection.debug.xcconfig
│ │ ├── AXNavigationBackItemInjection-dummy.m
│ │ ├── AXNavigationBackItemInjection-prefix.pch
│ │ └── AXNavigationBackItemInjection.release.xcconfig
│ ├── AXPracticalHUD
│ │ ├── AXPracticalHUD.debug.xcconfig
│ │ ├── AXPracticalHUD-dummy.m
│ │ ├── AXPracticalHUD-prefix.pch
│ │ └── AXPracticalHUD.release.xcconfig
│ ├── AXWebViewController
│ │ ├── AXWebViewController.debug.xcconfig
│ │ ├── AXWebViewController-dummy.m
│ │ ├── AXWebViewController-prefix.pch
│ │ └── AXWebViewController.release.xcconfig
│ ├── Masonry
│ │ ├── Masonry.debug.xcconfig
│ │ ├── Masonry-dummy.m
│ │ ├── Masonry-prefix.pch
│ │ └── Masonry.release.xcconfig
│ ├── NJKWebViewProgress
│ │ ├── NJKWebViewProgress.debug.xcconfig
│ │ ├── NJKWebViewProgress-dummy.m
│ │ ├── NJKWebViewProgress-prefix.pch
│ │ └── NJKWebViewProgress.release.xcconfig
│ ├── Pods-iUIPageControlFix4iOS14
│ │ ├── Pods-iUIPageControlFix4iOS14-acknowledgements.markdown
│ │ ├── Pods-iUIPageControlFix4iOS14-acknowledgements.plist
│ │ ├── Pods-iUIPageControlFix4iOS14.debug.xcconfig
│ │ ├── Pods-iUIPageControlFix4iOS14-dummy.m
│ │ ├── Pods-iUIPageControlFix4iOS14.release.xcconfig
│ │ ├── Pods-iUIPageControlFix4iOS14-resources-Debug-input-files.xcfilelist
│ │ ├── Pods-iUIPageControlFix4iOS14-resources-Debug-output-files.xcfilelist
│ │ ├── Pods-iUIPageControlFix4iOS14-resources-Release-input-files.xcfilelist
│ │ ├── Pods-iUIPageControlFix4iOS14-resources-Release-output-files.xcfilelist
│ │ └── Pods-iUIPageControlFix4iOS14-resources.sh
│ └── ReactiveObjC
│ ├── ReactiveObjC.debug.xcconfig
│ ├── ReactiveObjC-dummy.m
│ ├── ReactiveObjC-prefix.pch
│ └── ReactiveObjC.release.xcconfig
└── README.md
138 directories, 670 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论