diff --git a/SJVideoPlayer.podspec b/SJVideoPlayer.podspec index 5fa750c8f..b73d77774 100644 --- a/SJVideoPlayer.podspec +++ b/SJVideoPlayer.podspec @@ -1,7 +1,7 @@ Pod::Spec.new do |s| s.name = 'SJVideoPlayer' -s.version = '1.2.7' +s.version = '1.2.8' s.summary = 'video player.' s.description = 'https://github.com/changsanjiang/SJVideoPlayer/blob/master/README.md' s.homepage = 'https://github.com/changsanjiang/SJVideoPlayer' diff --git a/SJVideoPlayer/Player/SJVideoPlayer.h b/SJVideoPlayer/Player/SJVideoPlayer.h index c6f71abaa..940f9f950 100644 --- a/SJVideoPlayer/Player/SJVideoPlayer.h +++ b/SJVideoPlayer/Player/SJVideoPlayer.h @@ -12,6 +12,7 @@ #import "SJVideoPlayerAssetCarrier.h" #import "SJVideoPlayerMoreSettingSecondary.h" #import "SJVideoPlayerSettings.h" +#import NS_ASSUME_NONNULL_BEGIN @@ -147,6 +148,8 @@ NS_ASSUME_NONNULL_BEGIN @interface SJVideoPlayer (Prompt) +@property (nonatomic, strong, readonly) SJPrompt *prompt; + /*! * duration default is 1.0 */ diff --git a/SJVideoPlayer/Player/SJVideoPlayer.m b/SJVideoPlayer/Player/SJVideoPlayer.m index e6e8aa932..e8034af86 100644 --- a/SJVideoPlayer/Player/SJVideoPlayer.m +++ b/SJVideoPlayer/Player/SJVideoPlayer.m @@ -17,7 +17,6 @@ #import #import "SJVideoPlayerMoreSettingsView.h" #import "SJVideoPlayerMoreSettingSecondaryView.h" -#import #import #import "SJVideoPlayerRegistrar.h" #import "SJVolBrigControl.h" @@ -1190,14 +1189,15 @@ - (void)setAsset:(SJVideoPlayerAssetCarrier *)asset { /// 滑入时 self.scrollIn = YES; self.view.alpha = 1; - [self.view removeFromSuperview]; UITableViewCell *cell = [tableView cellForRowAtIndexPath:self.asset.indexPath]; UIView *superview = [cell.contentView viewWithTag:self.asset.superviewTag]; - if ( !superview ) { return;} - [superview addSubview:self.view]; - [self.view mas_remakeConstraints:^(MASConstraintMaker *make) { - make.edges.offset(0); - }]; + if ( superview && self.view.superview != superview ) { + [self.view removeFromSuperview]; + [superview addSubview:self.view]; + [self.view mas_remakeConstraints:^(MASConstraintMaker *make) { + make.edges.offset(0); + }]; + } } else { if ( NO == self.scrollIn ) return; @@ -1205,6 +1205,7 @@ - (void)setAsset:(SJVideoPlayerAssetCarrier *)asset { self.scrollIn = NO; self.view.alpha = 0.001; [self pause]; + self.hideControl = NO; } } else if ( [asset.scrollView isKindOfClass:[UICollectionView class]] ) { @@ -1218,11 +1219,13 @@ - (void)setAsset:(SJVideoPlayerAssetCarrier *)asset { [self.view removeFromSuperview]; UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:self.asset.indexPath]; UIView *superview = [cell.contentView viewWithTag:self.asset.superviewTag]; - if ( !superview ) return; - [superview addSubview:self.view]; - [self.view mas_remakeConstraints:^(MASConstraintMaker *make) { - make.edges.offset(0); - }]; + if ( superview && self.view.superview != superview ) { + [self.view removeFromSuperview]; + [superview addSubview:self.view]; + [self.view mas_remakeConstraints:^(MASConstraintMaker *make) { + make.edges.offset(0); + }]; + } } else { if ( NO == self.scrollIn ) return; @@ -1230,34 +1233,35 @@ - (void)setAsset:(SJVideoPlayerAssetCarrier *)asset { self.scrollIn = NO; self.view.alpha = 0.001; [self pause]; + self.hideControl = NO; } } }; } -static __weak UIView *tmpView = nil; -- (UIView *)_getSuperviewWithContentView:(UIView *)contentView tag:(NSInteger)tag { - if ( contentView.tag == tag ) return contentView; - - [self _searchingWithView:contentView tag:tag]; - UIView *target = tmpView; - tmpView = nil; - return target; -} - -- (void)_searchingWithView:(UIView *)view tag:(NSInteger)tag { - if ( tmpView ) return; - [view.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { - if ( obj.tag == tag ) { - *stop = YES; - tmpView = obj; - } - else { - [self _searchingWithView:obj tag:tag]; - } - }]; - return; -} +//static __weak UIView *tmpView = nil; +//- (UIView *)_getSuperviewWithContentView:(UIView *)contentView tag:(NSInteger)tag { +// if ( contentView.tag == tag ) return contentView; +// +// [self _searchingWithView:contentView tag:tag]; +// UIView *target = tmpView; +// tmpView = nil; +// return target; +//} +// +//- (void)_searchingWithView:(UIView *)view tag:(NSInteger)tag { +// if ( tmpView ) return; +// [view.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { +// if ( obj.tag == tag ) { +// *stop = YES; +// tmpView = obj; +// } +// else { +// [self _searchingWithView:obj tag:tag]; +// } +// }]; +// return; +//} - (SJVideoPlayerAssetCarrier *)asset { return objc_getAssociatedObject(self, _cmd); diff --git a/SJVideoPlayerProject/SJVideoPlayerProject.xcodeproj/project.pbxproj b/SJVideoPlayerProject/SJVideoPlayerProject.xcodeproj/project.pbxproj index 2927ea0ba..73293f106 100644 --- a/SJVideoPlayerProject/SJVideoPlayerProject.xcodeproj/project.pbxproj +++ b/SJVideoPlayerProject/SJVideoPlayerProject.xcodeproj/project.pbxproj @@ -763,14 +763,14 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = U5A7L7SMNP; + DEVELOPMENT_TEAM = DB5B5F2RH5; INFOPLIST_FILE = SJVideoPlayerProject/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.dancebaby.lanwuzhe; + PRODUCT_BUNDLE_IDENTIFIER = com.sanjiang.videoplayer; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE = "fa6d274f-eca0-4b49-aded-9969891b1a62"; - PROVISIONING_PROFILE_SPECIFIER = DevProfile; + PROVISIONING_PROFILE = "acd2453e-e396-4ccf-bf56-508276824c6c"; + PROVISIONING_PROFILE_SPECIFIER = SanJiangDevelopment; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -785,7 +785,7 @@ INFOPLIST_FILE = SJVideoPlayerProject/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.dancebaby.lanwuzhe; + PRODUCT_BUNDLE_IDENTIFIER = com.sanjiang.videoplayer; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; TARGETED_DEVICE_FAMILY = "1,2"; diff --git a/SJVideoPlayerProject/SJVideoPlayerProject.xcworkspace/xcuserdata/bluedancer.xcuserdatad/UserInterfaceState.xcuserstate b/SJVideoPlayerProject/SJVideoPlayerProject.xcworkspace/xcuserdata/bluedancer.xcuserdatad/UserInterfaceState.xcuserstate index e3835e28e..dfaadcca0 100644 Binary files a/SJVideoPlayerProject/SJVideoPlayerProject.xcworkspace/xcuserdata/bluedancer.xcuserdatad/UserInterfaceState.xcuserstate and b/SJVideoPlayerProject/SJVideoPlayerProject.xcworkspace/xcuserdata/bluedancer.xcuserdatad/UserInterfaceState.xcuserstate differ