草庐IT

ios - 高效的离屏UIView渲染和镜像

我有一个“屏幕外”的UIView层次结构,我想在屏幕的不同位置呈现它。此外,应该可以仅显示此View层次结构的一部分,并应反射(reflect)对该层次结构所做的所有更改。难点:UIView方法drawHierarchy(in:afterScreenUpdates:)总是调用draw(_rect:),因此对于大型层次结构来说效率非常低如果您想将所有更改合并到View层次结构中。您必须在每次屏幕更新时重新绘制它或观察所有View的所有更改属性。DrawviewhierarchydocumentationUIView方法snapshotView(afterScreenUpdates:)也没

ios - 如何在 ViewController 中将 AVPlayer 添加到 UIView

我的UIViewController我有一个UIView的导出,我想在其中使用外部链接显示视频。在这种情况下,我尝试创建AVPlayerLayer并将其添加到我的UIView导出。我的代码是这样的:classVievController:UICollectionViewController{@IBOutletweakvarplayerView:UIView!overridefuncviewDidLoad(){letplayerItem=AVPlayerItem(URL:NSURL(string:("https://www.youtube.com/watch?v=_yE_XgoWBso"

ios - 如何使用 Swift 以编程方式使用交替条纹图案填充 UIView?

我可以使用带有UIColor(patternImage:UIImage(named:"pattern.png"))的图像实现交替条纹图案填充。但是,如何使用一些简单紧凑的代码以编程方式绘制交替条纹图案填充?这是我想要实现的两个示例。问题Usingcode,howdoIfillaUIViewwithdifferentalternatingcolorstripesusingSwift?(1)atwocoloralternatingpatternrunningtoptobottom(90degrees)?(2)athreecoloralternatingpatternrunningtople

ios - MKMapSnapshotOptions : Adding snapshot of Custom Pin Annotation View or UIView

我正在尝试使用MKMapSnapshotter的startWithCompletionHandler方法获取mapView的快照。我想将自定义Pin注释View添加到快照中。并且在我的自定义注释View中有一个标签。所以我在获取快照时无法显示该标签。这是代码:letsnapshotter=MKMapSnapshotter(options:options)snapshotter.startWithCompletionHandler(){snapshot,erroriniferror!=nil{completion(image:nil,error:error)return}letimage

iOS:为什么 touchesBegan 在 UIView 的某些特定区域有一些延迟

我正在制作一个自定义键盘,但我遇到了一个非常奇怪的情况。我注意到,当我在UIView(inputView)的左后方(大约20像素)捕捉到事件touchesBegan时,我会在这里有一些延迟。我在touchesBegan中执行的任何操作都将比其他区域执行得慢。overridefunctouchesBegan(touches:Set,withEventevent:UIEvent?){self.keypop.hidden=false}overridefunctouchesEnded(touches:Set,withEventevent:UIEvent?){{self.keypop.hidde

swift - 在自定义 UiView 中的何处设置 UiTextField 委托(delegate)方法

设置UITextField委托(delegate)时发生错误。我的代码是:importUIKitclassUserAlertVC:UIView,UITextFieldDelegate{/*//Onlyoverridedraw()ifyouperformcustomdrawing.//Anemptyimplementationadverselyaffectsperformanceduringanimation.overridefuncdraw(_rect:CGRect){//Drawingcode}*/overrideinit(frame:CGRect){super.init(frame

ios - Swift UIView 不透明度编程

我很难通过UIView的属性以编程方式实现所需的不透明外观,而这可以通过Storyboard和AttributesInspector轻松完成。我想重新创建什么(来自属性检查器的设置):背景颜色为(RGBSliders:0,0,0)且不透明度slider设置为75%的UIView,alpha默认值为1。所以基本上是一个黑色UIView,不透明度调低。我以编程方式尝试过的内容:1)view.backgroundColor=.blackview.alpha=0.752)view.backgroundColor=UIColor.black.withAlphaComponent(0.75)vie

ios - Swift:UIView 的背景渐变

我在尝试向UIView添加渐变背景时遇到问题。我对UIView进行了扩展,并添加了以下方法:funcsetGradientBackground(colorTop:UIColor,colorBottom:UIColor){letgradientLayer=CAGradientLayer()gradientLayer.colors=[colorTop,colorBottom]gradientLayer.frame=boundslayer.insertSublayer(gradientLayer,at:0)}然后我调用:separatorView.setGradientBackground(

uiview - '[(UIView) ]' is not identical to ' UInt8' 在 Xcode 6 beta 5 中使用 += 时。改用 append 方法?

我使用+=将UIView用于数组,但似乎不再有效。线路dropsFound+=hitView给出错误'[(UIView)]'isnotidenticalto'UInt8'这是方法的一部分。请注意,从Xcode6beta5开始,hitTest现在返回一个可选的,因此有必要说hitView?.superview代替hitView.superview在“if”语句中。funcremoveCompletedRows()->Bool{println(__FUNCTION__)vardropsToRemove=[UIView]()forvary=gameView.bounds.size.heigh

ios - 方向更改后 UIView 框架未更新

如何使用Swift3检测方向变化?我需要在更改后检测它以计算帧大小。编辑我问这个问题是因为我需要像这个问题一样重绘方向变化的View:Can'tgetbackgroundgradienttofillentirescreenuponrotation我不知道如何实现标记为正确答案的答案。我尝试了另一个答案self.backgroundImageView.layer.sublayers?.first?.frame=self.view.bounds但它不起作用。在viewDidLoad()我有letcolor1=UIColor(red:225.0/255.0,green:210.0/255.0