Tag: 快速

触发UITapGestureRecognizer后,NSLayoutConsstraint常量不会影响视图

我有一个视图( self.view )是用另一个视图(而不是图层)使用UIView.mask属性UIView.mask 。 在UIPanGestureRecognizer我安装了一个UIPanGestureRecognizer所以当我在屏幕上平移面具变得越来越小相应。 另外我安装在UITapGestureRecognizer ,它增加了animationUIImageView s到屏幕上,他们在UIBezierPath进行animationUIBezierPath 。 我正在更新面具的大小与约束。 问题是,我点击屏幕添加animation的意见后,我对面具约束的变化停止影响。 我可以在日志中看到确实改变了约束的常量,并且UIPanGestureRecognizer仍然在工作。 所以我的意思是说遮罩视图约束停止影响其视图。 这是为什么? 谢谢 video插图: https : //youtu.be/UtNuc8nicgs 这里是代码: class UICircle: UIView { init() { super.init(frame: .zero) self.clipsToBounds = true self.backgroundColor = .yellow self.isUserInteractionEnabled = false } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } var diameterConstraint: NSLayoutConstraint? var animating = […]

Swift 3:UITextView – Dynanmic高度 – 以编程方式

我有一个keyboardContainer类(UIView的子类/以编程方式创build,所以没有故事板),包括一个UITextView供用户input消息。它被用在聊天logging类中,并设置为inputAccessoryView。 我想在用户input时dynamic地改变它的高度。 我search答案,发现一些。 然而,我没有得到他们大部分,因为他们不为我工作。 我需要执行什么来获得我想要的效果? 谢谢你的帮助! 编辑: 首先感谢您的帮助! 不过,我对编码相当陌生,所以无法解决问题。 我想这与我创build我的keyboardContainer类和约束的方式有关… 以下是我的键盘容器类中的相关代码: let textField:UITextView = { let view = UITextView() view.translatesAutoresizingMaskIntoConstraints = false view.layer.cornerRadius = 15 view.layer.masksToBounds = true view.font = UIFont.systemFont(ofSize: 15) view.backgroundColor = .white return view }() overried init(frame: CGRect){ super.init(frame: frame) addSubview(textField) textField.leftAnchor.constraint(equalTo: leftButton, constant: 5).isActive = true textField.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true textFieldHeightAnchor […]

didUpdateHeading标题从未在iOS 11下调用过

使用XCode版本9.0(9A235),但使用Swift 3.x 我的应用程序在iOS 10.x didUpdateHeading调用工作良好调用看起来不错,但在iOS 11.x下相同的应用程序崩溃导致didUpdateHeading永远不会被调用。 我错过了一些权限更改使用指南针或IOS 11.x中的东西

在UITextField底部绘制虚线

我试图在UITextField底部画一条虚线,但没有成功。 以下是我到目前为止所尝试的。 请指导。 func addDashedBorder() { let color = UIColor.white.cgColor let width = CGFloat(2.0) let shapeLayer:CAShapeLayer = CAShapeLayer() let frameSize = self.frame.size let shapeRect = CGRect(x: 0, y: frameSize.height, width: frameSize.width, height: 2.0) shapeLayer.bounds = shapeRect shapeLayer.position = CGPoint(x: frameSize.width/2, y: frameSize.height – width) shapeLayer.fillColor = UIColor.darkGray.cgColor shapeLayer.strokeColor = color shapeLayer.lineWidth = 2.0 // shapeLayer.lineJoin […]

closures具有导航控制器的视图控制器并将值传递回主视图控制器

我有一个mainViewcontroller在一个button调用get mainViewcontroller我打电话dataviewcontrollerselect集合视图单元格中的任何项目。一旦用户select任何单元格。该特定的dataviewcontroller将解雇,而解雇它将有用户select的项目名称和它将显示在mainViewcontroller 。现在的视图控制器不是解雇。 这里代码: 在我的mainViewcontroller : var SelectedName: String? = "" override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) currentTF.text = SelectedName } 现在dataviewcontroller : func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { if collectionView.cellForItem(at: indexPath) != nil { selectedNamesss = allitems[indexPath.row] as String } calldismiss() print(selectedNamesss) } func calldismiss() { if let presenter = presentingViewController […]

从触摸位置快速获取SCNNode环境中的vector

我有我的相机的位置和方向,在屏幕上的CGPoint触摸位置,我需要在我的3d SCNNode环境中,我在屏幕上触摸的方向的线(最好是vector),我怎么能得到这个? 代码片段会非常有帮助。

select一张图片导致重新保存到相机胶卷

我有一个程序,用户select一张照片放在屏幕上,代码自动将其放入自定义相册中。 但是,每当他们select一张照片,它将其重新保存到相机胶卷,创build重复。 我如何让它停止这样做? func fetchAssetCollectionForAlbum() -> PHAssetCollection? { let fetchOptions = PHFetchOptions() fetchOptions.predicate = NSPredicate(format: "title = %@", albumName) // fetch the asset for the album let collection = PHAssetCollection.fetchAssetCollections(with: .album, subtype: .any, options: fetchOptions) var picturePlaceHolder: PHObjectPlaceholder? = nil if let _: AnyObject = collection.firstObject { return collection.firstObject } return nil } func save(image: […]

应用程序遇害时向Web服务发送请求? (Swift 3)

每当用户杀死我的应用程序时,我的应用程序都会收到通知(不是将其移动到后台,而是通过双击主屏幕button并将应用程序的屏幕截图向上滑动)完全退出。 我知道applicationWillTerminate()几乎没有被调用,所以我想知道当用户将杀死应用程序时通知最安全的方式。 看起来,苹果公司并没有提供任何forms的解决scheme,因为许多iOS用户在使用它的时候会杀死应用程序,所以如果它真的是真的真的很奇怪不可能赶上这个事件。 我唯一需要做的就是发送一个URLRequest来发送一些更新指令到我的web服务。

实例化存储在metatype字典中的类

我已经按照制作一个Swift字典的关键是“types”的解决scheme? 创build可以使用类types作为键的字典。 我想要做的是:我有一个字典,应该存储类types与他们的类types(又名元types)作为键: class MyScenario { static var metatype:Metatype<MyScenario> { return Metatype(self) } } var scenarioClasses:[Metatype<MyScenario>: MyScenario.Type] = [:] 然后我有方法来注册和执行scheme: public func registerScenario(scenarioID:MyScenario.Type) { if (scenarioClasses[scenarioID.metatype] == nil) { scenarioClasses[scenarioID.metatype] = scenarioID } } public func executeScenario(scenarioID:MyScenario.Type) { if let scenarioClass = scenarioClasses[scenarioID.metatype] { let scenario = scenarioClass() } } 问题是在最后一行: 使用元types值构造类types为“MyScenario”的对象必须使用“必需的”初始值设定项。 看起来编译器很困惑,因为我不能在这个任务中使用'required'。 有没有人有一个想法,我将不得不在executeScenario()实例化scenarioClass ?

typesX不从Yinheritance

下面的Swift代码在最后一行产生这个错误: Type 'E' does not inherit from 'C<Self>' 。 不知道这里发生了什么事。 任何线索将不胜感激。 class C<T> {} protocol P { typealias E : C<Self> } class A : P { typealias E = C<A> } class S<U : P> {} class C2<T> : S<A> {} 更新:我简化了破碎的例子。 在这个问题的编辑历史中可以find旧版本(milos的答案提到)。