草庐IT

ios - 当键盘可见时更改 Y 原点时出现奇怪的 UIView 行为

上下文:我有一个包含UITextView的UIView。我想在键盘可见时向上移动UIView。所以想法是changetheYposition.问题:有时,当键盘仍然可见时,UIView会返回到其初始Y位置。即使我专注于输入,它也不会再回来了。我真的不知道为什么。插图(gif):https://d17oy1vhnax1f7.cloudfront.net/items/2K0z3P1j1x2f0X2X1B2v/ci.gifPS:键盘在Gif中出现了3次。它是循环的,所以很难区分结束。代码我做了什么,首先我添加了通知观察者:NotificationCenter.default.addObser

ios - 在 SwiftUI 中,如何在 UIView 中或作为 UIView 使用 UIHostingController?

另一个问题标题可以是“HowtoaddanUIHostingController'sviewassubviewforanUIView?”。我正在创建一个新的UI组件,很想尝试一下SwiftUI。下图是当前的View结构。UIView是我现在正在使用的(右上),而SwiftUIView是我尝试使用的(右下)。在我观看了WWDC2019的所有SwiftUI视频之后。我仍然不知道如何使用SwiftUIView并将其放在UIView实例应该去的地方。我从“IntegratingSwiftUI”谈话中注意到,有一个适用于macOS的NSHostingView,https://developer.

ios - 报告 UIView 子类所需大小的正确方法是什么?

我正在对UIView进行子类化,但无法找到请求/报告其所需大小的正确方法。我希望systemLayoutSizeFittingSize可以解决这个问题,但它从未被调用过。布局很简单——我固定了我的View的顶部和前导,并将尾部和底部限制为小于或等于顶级View。在所有调整大小的函数中,只有intrinsicContentSize被调用,但那个函数不是很有用。importFoundationimportUIKitclassStatsView:UIView{overridefuncdrawRect(rect:CGRect){letcontext=UIGraphicsGetCurrentCo

ios - "hidden"与#keyPath(UIView.isHidden)

KVOobserverwith#keyPath(UIView.isHidden)不工作,但是"hidden"工作。很奇怪。是错误还是功能?child.addObserver(self,forKeyPath:"hidden",options:[.initial,.new],context:nil);overridefuncobserveValue(forKeyPathkeyPath:String?,ofobject:Any?,.change:[NSKeyValueChangeKey:Any]?,context:UnsafeMutableRawPointer?){ifletview=obj

swift - UIView 的 AirPrint 内容

我正在尝试通过iPad应用程序设置打印,点击“打印”将打印包含其所有内容的View。这是我尝试过的方法(从几个在线示例中汇总)://ThisistheViewIwanttoprint//Justa200x200bluesquarevartestView=UIView(frame:CGRectMake(0,0,200,200))testView.backgroundColor=UIColor.blueColor()letprintInfo=UIPrintInfo(dictionary:nil)!printInfo.outputType=UIPrintInfoOutputType.Gene

ios - 在 iOS UIView Swift 中为展开的绘图设置动画

我想使用CGContext在UIView中创建自定义动态绘图,这样当我在其上执行UIView动画时,绘图将在动画/插值期间呈现。我尝试使用自定义CALayer并覆盖其绘制方法,但失败了。我尝试子类化UIViewdraw(_in:CGRect)但它只在第一次绘制。这就是我想要做的:classRadioWaveView:UIView{overridefuncdraw(_in:CGRect){//drawsomething,forexampleanellipsebasedonframesize,somethinglikethis://letcontext=CGGraphicsCurrentC

ios - UIView subview 未接收到触摸

我想了解为什么我的subview没有收到触摸。下面是一张显示我遇到的行为的gif:当我单击右侧的青色按钮时,没有任何反应(左侧View的背景应该会改变颜色)。当我单击左侧的绿色按钮时,它会正确接收到触摸事件,触发附加的TouchDown操作并且View的颜色发生变化。这个“应用程序”显然不是真正的应用程序,只是为了说明我遇到的行为。我真正想要的是学习如何实现您在许多应用程序中看到的常见“滑出菜单”模式;通常带有一个伴随的汉堡包按钮。在许多这样的应用程序中,主要的应用程序内容似乎被移到一边以显示菜单,就像“隐藏”在应用程序下面一样。我试图在这里复制相同的行为。我将我的ViewContro

swift - 如何将 UIView 裁剪成半圆?

我想将UIView裁剪成半圆形提前致谢。 最佳答案 一个方便的方法是继承UIView,在其上添加一个图层,如果默认情况下不是透明的,则使View颜色透明。importUIKitclassSemiCirleView:UIView{varsemiCirleLayer:CAShapeLayer!overridefunclayoutSubviews(){super.layoutSubviews()ifsemiCirleLayer==nil{letarcCenter=CGPoint(x:bounds.size.width/2,y:bounds

ios - 根据 Swift 中的 UILabel 文本调整 UIView 高度

所以我有一个简单的UIView,其中包含一个UILabel。目前,UIView的高度是硬编码的,当UILabel文本太长以至于内容需要比UIView提供。是否有一种简单的方法来计算UIView的适当高度,以便显示包含的UILabel中的所有内容?谢谢! 最佳答案 如果您使用自动布局:您只需将UILabel的前导、尾随、顶部和底部固定到它的superView(前导、尾随、顶部和底部)。将numberOfLines属性设置为0,这意味着您需要多少行。现在您可以决定将UIlabel实例的宽度限制为特定数字或设置preferredMaxLa

ios - 如何在 UIView swift 中播放视频?

我有一个视频,我想从服务器下载并以固定View流式传输。我在Storyboard中设置了一个具有固定约束的UIView,这是我在代码中所做的:@IBOutletweakvarvideoView:UIView!varplayer:AVPlayer!varavpController=AVPlayerViewController()在我的viewDidLoad中我做了这个:leturl=URL(string:myURL)player=AVPlayer(url:url!)avpController.player=playeravpController.videoGravity=AVLayerV