Comments (10)
@sreeji44 I just change a place, which is the relevant code changes after me, but it is Objective-C.
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
QBAssetCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"AssetCell" forIndexPath:indexPath];
cell.tag = indexPath.item;
cell.showsOverlayViewWhenSelected = self.imagePickerController.allowsMultipleSelection;
// Image
PHAsset *asset = self.fetchResult[indexPath.item];
CGSize itemSize = [(UICollectionViewFlowLayout *)collectionView.collectionViewLayout itemSize];
/*
change here
*/
UIWindow *window = [UIApplication sharedApplication].keyWindow;
CGFloat fixValue;
if (self.traitCollection.displayScale != 0) {
fixValue = self.traitCollection.displayScale;
} else {
fixValue = window.traitCollection.displayScale;
}
CGSize targetSize = CGSizeScale(itemSize, fixValue);
[self.imageManager requestImageForAsset:asset
targetSize:targetSize
contentMode:PHImageContentModeAspectFill
options:nil
resultHandler:^(UIImage *result, NSDictionary *info) {
if (cell.tag == indexPath.item) {
cell.imageView.image = result;
}
}];
// Video indicator
if (asset.mediaType == PHAssetMediaTypeVideo) {
cell.videoIndicatorView.hidden = NO;
NSInteger minutes = (NSInteger)(asset.duration / 60.0);
NSInteger seconds = (NSInteger)ceil(asset.duration - 60.0 * (double)minutes);
cell.videoIndicatorView.timeLabel.text = [NSString stringWithFormat:@"%02ld:%02ld", (long)minutes, (long)seconds];
if (asset.mediaSubtypes & PHAssetMediaSubtypeVideoHighFrameRate) {
cell.videoIndicatorView.videoIcon.hidden = YES;
cell.videoIndicatorView.slomoIcon.hidden = NO;
}
else {
cell.videoIndicatorView.videoIcon.hidden = NO;
cell.videoIndicatorView.slomoIcon.hidden = YES;
}
} else {
cell.videoIndicatorView.hidden = YES;
}
// Selection state
if ([self.imagePickerController.selectedAssets containsObject:asset]) {
[cell setSelected:YES];
[collectionView selectItemAtIndexPath:indexPath animated:NO scrollPosition:UICollectionViewScrollPositionNone];
}
return cell;
}
from qbimagepicker.
I'm sorry, my English is bad, I cannot quickly understand what you mean. @sreeji44
from qbimagepicker.
QBAssetsViewController.m ---> line 451 ---> When first run self.traitCollection no value
My code:
UIWindow *window = [UIApplication sharedApplication].windows.firstObject;
CGFloat fixValue;
if (self.traitCollection.displayScale != 0) {
fixValue = self.traitCollection.displayScale;
} else {
fixValue = window.traitCollection.displayScale;
}
CGSize targetSize = CGSizeScale(itemSize, fixValue);
from qbimagepicker.
@wangbiye When i add this lines i solve the problem ?.. because i to have the same problem.... Can you help me..... i am doing in swift...
from qbimagepicker.
@wangbiye actually i am using the objective c version and converted the code thats all... so QBassetviewcontroller.m page i want to change it right... ok thankz a lot.....
from qbimagepicker.
@wangbiye thankz its works
from qbimagepicker.
@wangbiye its ok.. Your code work for me. :)
from qbimagepicker.
CGSize targetSize = CGSizeScale(itemSize, fixValue);
This is showing error,
from qbimagepicker.
It worked for me when I changed this:
PHImageRequestOptions* options = [[PHImageRequestOptions alloc] init];
options.synchronous = YES;
options.networkAccessAllowed = YES;
options.deliveryMode = PHImageRequestOptionsDeliveryModeHighQualityFormat;
It was options.deliveryMode = PHImageRequestOptionsDeliveryModeFastFormat before. It used to work even without this though.
from qbimagepicker.
This might be super late but can help people in future.
Adding a multiplier in QBAssetViewController is the solution that worked for me at line 450.
CGSize targetSize = CGSizeScale(itemSize, self.traitCollection.displayScale*4); //self.traitCollection.displayScale = 2. This is a default set in iOS 13.2 (or somewhere around that)
multiplying it by 4 increases the resolution and you see clearer images.
from qbimagepicker.
Related Issues (20)
- 为什么在xcode9上运行报Compiling IB documents for earlier than ios 7 is no longer suppored HOT 2
- Number of assets in footer is not updated in photoLibraryDidChange
- iphone X compatibility HOT 3
- Pod-spec/tag outdated
- 闪退的问题
- 'QBImagePickerController/QBImagePickerController.h' file not found in Xcode7 for architectures arm64, arm7, armv7s, imported via Carthage
- ios11真机测试图片数为0
- 求解,快疯了! HOT 1
- Gallery picker : NSArrayM-insertObjectatIndex-object-cannot-be-nil HOT 2
- Done and Cancel button hides HOT 1
- Changing selectedAssets to be read-write
- Feature Request: Slide and Drag to select images in multiple mode HOT 1
- Filter image extensions
- Feature Request: Tap And Go Full Screen
- Localisation String Issue On Language Conversion
- Get Reference Image URL as same in UIImagePickerController.
- How to navigate to Camera Roll by default
- iOS 13 First time Blank screen is displayed when user access to photos. HOT 2
- QBImagePicker/QBAssetsViewController.m:198:31: error: no known class method for selector 'labelColor' HOT 4
- Show counter instead of checkmark on selected items?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qbimagepicker.