[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6851":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":20,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},6851,"ImagePicker","hyperoslo\u002FImagePicker","hyperoslo",":camera: Reinventing the way ImagePicker works.","",null,"Swift",4896,675,94,20,0,1,30.49,"Other",false,"master",[23,24,25],"imagepicker","ios","swift","2026-06-12 02:01:31","![ImagePicker](https:\u002F\u002Fgithub.com\u002Fhyperoslo\u002FImagePicker\u002Fblob\u002Fmaster\u002FResources\u002FImagePickerPresentation.png)\n\n[![Carthage Compatible](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCarthage-compatible-4BC51D.svg?style=flat)](https:\u002F\u002Fgithub.com\u002FCarthage\u002FCarthage)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fl\u002FImagePicker.svg?style=flat)](http:\u002F\u002Fcocoadocs.org\u002Fdocsets\u002FImagePicker)\n[![Platform](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fp\u002FImagePicker.svg?style=flat)](http:\u002F\u002Fcocoadocs.org\u002Fdocsets\u002FImagePicker)\n\n## Description\n\n\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fhyperoslo\u002FImagePicker\u002Fblob\u002Fmaster\u002FResources\u002FImagePickerIcon.png\" alt=\"ImagePicker Icon\" align=\"right\" \u002F>\n\n**ImagePicker** is an all-in-one camera solution for your iOS app. It lets your users select images from the library and take pictures at the same time. As a developer you get notified of all the user interactions and get the beautiful UI for free, out of the box, it's just that simple.\n\n**ImagePicker** has been optimized to give a great user experience, it passes around referenced images instead of the image itself which makes it less memory consuming. This is what makes it smooth as butter.\n\n## Usage\n\n**ImagePicker** works as a normal controller, just instantiate it and present it.\n\n```swift\nlet imagePickerController = ImagePickerController()\nimagePickerController.delegate = self\npresent(imagePickerController, animated: true, completion: nil)\n```\n\n**ImagePicker** has three delegate methods that will inform you what the users are up to:\n\n```swift\nfunc wrapperDidPress(_ imagePicker: ImagePickerController, images: [UIImage])\nfunc doneButtonDidPress(_ imagePicker: ImagePickerController, images: [UIImage])\nfunc cancelButtonDidPress(_ imagePicker: ImagePickerController)\n```\n\n**ImagePicker** supports limiting the amount of images that can be selected, it defaults\nto zero, which means that the user can select as many images as he\u002Fshe wants.\n\n```swift\nlet imagePickerController = ImagePickerController()\nimagePickerController.imageLimit = 5\n```\n\n### Optional bonus\n\n##### Configuration\n\nYou can inject `Configuration` instance to ImagePicker, which allows you to configure text, colors, fonts and camera features\n\n```swift\nvar configuration = Configuration()\nconfiguration.doneButtonTitle = \"Finish\"\nconfiguration.noImagesTitle = \"Sorry! There are no images here!\"\nconfiguration.recordLocation = false\n\nlet imagePicker = ImagePickerController(configuration: configuration)\n```\n\n##### Resolve assets\n\nAs said before, **ImagePicker** works with referenced images, that is really powerful because it lets you download the asset and choose the size you want. If you want to change the default implementation, just add a variable in your controller.\n\n```swift\npublic var imageAssets: [UIImage] {\n  return AssetManager.resolveAssets(imagePicker.stack.assets)\n}\n```\n\nAnd when you call any delegate method that returns images, add in the first line:\n\n```swift\nlet images = imageAssets\n```\n\n## FAQ\n\n### Limiting selection to 1 item\n\n```swift\nlet config = Configuration()\nconfig.allowMultiplePhotoSelection = false\nlet imagePicker = ImagePickerController(configuration: config)\nimagePicker.delegate = self\n```\n\n## Installation\n\n**ImagePicker** is available through [CocoaPods](http:\u002F\u002Fcocoapods.org). To install\nit, simply add the following line to your Podfile:\n\n```ruby\npod 'ImagePicker'\n```\n\n**ImagePicker** is also available through [Carthage](https:\u002F\u002Fgithub.com\u002FCarthage\u002FCarthage).\nTo install just write into your Cartfile:\n\n```ruby\ngithub \"hyperoslo\u002FImagePicker\"\n```\n\n## Author\n\n[Hyper](http:\u002F\u002Fhyper.no) made this with ❤️\n\n## Contribute\n\nWe would love you to contribute to **ImagePicker**, check the [CONTRIBUTING](https:\u002F\u002Fgithub.com\u002Fhyperoslo\u002FImagePicker\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md) file for more info.\n\n## License\n\n**ImagePicker** is available under the MIT license. See the [LICENSE](https:\u002F\u002Fgithub.com\u002Fhyperoslo\u002FImagePicker\u002Fblob\u002Fmaster\u002FLICENSE.md) file for more info.\n","ImagePicker 是一个为 iOS 应用设计的全方位相机解决方案，允许用户同时从相册选择图片和拍摄新照片。其核心功能包括提供流畅的用户体验、支持自定义配置（如文本、颜色、字体及相机特性）以及通过引用而非实际图片数据来减少内存消耗。该库以 Swift 语言编写，易于集成到项目中，并且提供了丰富的委托方法让开发者能够轻松地跟踪用户的操作。适用于需要高效处理图片选择与拍摄功能的应用场景，例如社交应用或任何涉及大量图片上传的移动软件。",2,"2026-06-11 03:09:13","top_language"]