- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的 swift 应用程序创建一个注册页面,其中包含一个允许用户选择个人资料图片的按钮,一旦用户选择了该图片,该图片就应替换占位符“添加图片”按钮,方法是将button.setImage() 与新选择的图片一起使用。我的问题是,当用户选择图片时,它会在屏幕上完全水平拉伸(stretch),而不是限制为按钮的 150x150 宽度和高度。
这是我的按钮:
let plusPhotoButton : UIButton = {
let b = UIButton(type: .system)
b.imageView?.clipsToBounds = true
b.setImage(#imageLiteral(resourceName: "plus_photo").withRenderingMode(.alwaysOriginal), for: .normal)
b.addTarget(self, action: #selector(setProfilePic), for: .touchUpInside)
return b
}()
我将它添加到 View 中,如下所示:
fileprivate func setupPlusPhotoButton() {
view.addSubview(plusPhotoButton)
plusPhotoButton.anchor(top: view.topAnchor, paddingTop: 50, left: nil, paddingLeft: 0, right: nil, paddingRight: 0, bottom: nil, paddingBottom: 0, width: 150, height: 150)
plusPhotoButton.anchorCenter(x: view.centerXAnchor, y: nil)
}
使用此 UIView 扩展使我的锚定更容易:
extension UIView {
func anchor(top: NSLayoutYAxisAnchor?, paddingTop: CGFloat, left: NSLayoutXAxisAnchor?, paddingLeft: CGFloat, right: NSLayoutXAxisAnchor?, paddingRight: CGFloat, bottom: NSLayoutYAxisAnchor?, paddingBottom: CGFloat, width: CGFloat, height: CGFloat) {
self.translatesAutoresizingMaskIntoConstraints = false
if let top = top {
self.topAnchor.constraint(equalTo: top, constant: paddingTop).isActive = true
}
if let left = left {
self.leftAnchor.constraint(equalTo: left, constant: paddingLeft).isActive = true
}
if let right = right {
self.rightAnchor.constraint(equalTo: right, constant: -paddingRight).isActive = true
}
if let bottom = bottom {
self.bottomAnchor.constraint(equalTo: bottom, constant: paddingBottom).isActive = true
}
if width != 0 {
self.widthAnchor.constraint(equalToConstant: width)
}
if height != 0 {
self.heightAnchor.constraint(equalToConstant: height).isActive = true
}
}
func anchorCenter(x: NSLayoutXAxisAnchor?, y: NSLayoutYAxisAnchor?) {
self.translatesAutoresizingMaskIntoConstraints = false
if let x = x {
self.centerXAnchor.constraint(equalTo: x).isActive = true
}
if let y = y {
self.centerYAnchor.constraint(equalTo: y).isActive = true
}
}
}
我这样展示我的 UIImagePickerController:
func setProfilePic() {
print("setting profile picture")
let imagePickerVC = UIImagePickerController()
imagePickerVC.delegate = self
imagePickerVC.allowsEditing = true
present(imagePickerVC, animated: true, completion: nil)
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let editedImage = info["UIImagePickerControllerEditedImage"] as? UIImage {
plusPhotoButton.setImage(editedImage.withRenderingMode(.alwaysOriginal), for: .normal)
} else if let originalImage = info["UIImagePickerControllerOriginalImage"] as? UIImage {
plusPhotoButton.setImage(originalImage.withRenderingMode(.alwaysOriginal), for: .normal)
}
plusPhotoButton.layer.cornerRadius = plusPhotoButton.frame.width/2
plusPhotoButton.layer.masksToBounds = true
plusPhotoButton.layer.borderColor = UIColor.black.cgColor
plusPhotoButton.layer.borderWidth = 3
dismiss(animated: true, completion: nil)
}
非常感谢您的帮助,谢谢!
最佳答案
没关系 - 只是检查了我的扩展,并没有将我的宽度约束的 isActive 属性设置为 true。呃
关于ios - UIImagePicker 中的图像方向不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44709816/
是否可以保存视频并将其添加到自定义 ALAsset,以 mp4 格式从 UIImagePicker 捕获?或者我必须将它保存在 .mov 中并通过 AVAssetExportSession 进行压缩?
我正在构建一个应用程序,它有几个不同的部分,所有这些部分都非常注重图像。它与我客户的网站相关,他们是“高设计”类型的服装。 该应用程序的一部分是从相机或库上传的图像,以及显示缩略图网格的表格 View
有什么好的方法可以将UIImagePicker设置为横向吗?我尝试在 presentModalViewController 之后调用 setStatusBarOrientation,如下所示, [se
我正在 iPad 上使用覆盖按钮开始视频录制。 当我调用 [imagePickerController startVideoCapture] 时,我得到“拍摄视频事件指示器已清除” iPad 不开始录
工作场所 我在模拟器中有一个大小为 53kb 的图像(.JPG 格式)。 现在我使用 UIImagePickerController 选择这张图片并将其保存到本地。 选择图片并保存到本地的代码如下:
这是我的代码。我已经实现了 UIImagePicker,但在运行时它没有向我显示用于访问模拟器中图库的权限的对话框 @IBOutlet var uploadImage: UIImageView! @I
我正在使用以下方法关闭我的 UIImagePicker: func imagePickerControllerDidCancel(picker: UIImagePickerController!)
我有一个非常适合 UIImagePickerControllerSourceTypePhotoLibrary 类型的 UIImagePicker,但是当我使用 UIImagePickerControl
我正在为我的 swift 应用程序创建一个注册页面,其中包含一个允许用户选择个人资料图片的按钮,一旦用户选择了该图片,该图片就应替换占位符“添加图片”按钮,方法是将button.setImage()
我使用 UIImagePickerController 从相册中选择了一个视频,并尝试使用以下函数从中生成缩略图: func getThumbnailFrom(path: URL) -> UIImag
在我的应用程序中,在使用 uiimagepicker 选择图像后,它会通过网络服务进行处理。 Web 处理需要一秒钟,所以我想创建一个带有事件指示器 View 的灰色叠加层。 我的问题是,在处理完成之
我正在使用以下代码在模拟器上选择视频: if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) // for ipad only {
我有一个非常适合 UIImagePickerControllerSourceTypePhotoLibrary 类型的 UIImagePicker,但是当我使用 UIImagePickerControl
我尝试使用 UIImagePicker 来编辑图像,代码运行良好,但不允许编辑,这里是我的代码: 在myFile.h @interface MyCameraPickerController : UIV
我正在使用 UIImagepickerController 在我的应用程序中捕获视频。有时它的行为很奇怪 - 图像捕获即将到来。大多数情况下,当新用户注册并 try catch 视频或安装并测试新的
当 Controller 处于纵向模式时,UIImagePicker 始终以横向模式打开照片应用程序,并且设备方向也是纵向。有人可以帮忙吗? func actionSheet(_ actionShee
我正在尝试使用我的 iPad 应用程序拍照,但当我启动 UIImagePickerController 时,相机以错误的方向显示图像。 这是我调用 UIImagePickerController 的代
在我的应用程序中,我使用 UiImagePicker 还实现了 UiNavigationControllerDelegate 以进行一些自定义,如删除键和后退按钮。 当用户浏览其库中的图像并选择一个图
我有一个 UIImagePicker,它在我选择图像后不断出现。我的代码正在检查摄像头,然后根据模拟器中没有摄像头的事实显示 UIImagePicker。 - (void)viewWillAppear
为了开发应用,我设置了一个带有 .savedPhotosAlbum 的 UIImagePicker 作为源类型。 import UIKit class PictureViewController: U
我是一名优秀的程序员,十分优秀!