草庐IT

ios - 在 swift 中处理 UIView 公共(public)初始化

像UIView这样的一些特殊类有不止一个指定的初始化器。在Objective-X中,我们可以将公共(public)初始化分解为一个单独的函数-(id)initWithCoder:(NSCoder*)aDecoder{if(self=[superinitWithCoder:aDecoder]){[selfinitialize];}returnself;}-(id)initWithFrame:(CGRect)frame{if(self=[superinitWithFrame:frame]){[selfinitialize];}returnself;}在Swift中,这不再是可能的,因为以下

ios - UIBlurEffect 在设备上不模糊但在模拟器中有效

我正在尝试制作一个带有UIVisualEffectViewsubview的UIView,并以UIBlurEffect作为效果。View在屏幕的一侧创建,然后使用动画滑入。在模拟器上一切正常(我已经在iPhone4S和iPhone6上测试过)但是在我的手机(iPhone6)上模糊并没有模糊,它看起来更像是带有alpha为0.5。此外,当我截取设备的屏幕截图或从主屏幕打开它时,会在再次开始一致渲染之前为该单帧渲染模糊。这是当前View的屏幕截图:但是在设备上不存在模糊,它本质上只是一个黑暗、透明的View。这是我用来初始化View的代码,blurView和vibrancyView属性被声明

ios - 具有协议(protocol)问题的 Swift 通用 UIView 子类

我扩展了UIView以符合UIGestureRecognizerDelegate协议(protocol)下面的代码可以编译letlabel=UILabel()letrecognizer=UITapGestureRecognizer(target:label.self,action:Selector("tapGestureHandler:"))recognizer.delegate=label.selflabel.addGestureRecognizer(recognizer)现在我正在尝试创建一个通用子类来创建不同的UIView子类classMyView{init(){(T.selfa

objective-c - 在框架内使用类时 IB_DESIGNABLE 构建失败

我创建了一个新的嵌入式框架。在框架内,我创建了一个名为“WBButton”的类,它是UIButton的子类。我已经设置了IB_DESIGNABLE并添加了IBInspectable属性以允许通过Interfacebuilder进行配置,如解释的那样here.当我在我的框架内测试它时它工作正常(通过添加示例.xib并将按钮放在屏幕上),但是当将自定义按钮添加到位于包含框架的项目上的Nib时,我得到“Designables”旁边的“BuildFailed”消息(见下文)。另外,Interfacebuilder中的“Module”是什么意思? 最佳答案

ios - UIView 在 swift 中的指定初始化器

所以我像这样子类化了UIViewclassCustomView:UIView{}我可以做类似的事情letcustomView=CustomView()但是当我覆盖我认为是UIView的两个指定初始化程序时,即init(frame:)和init(coder:)像这样classCustomView:UIView{requiredinit(coderaDecoder:NSCoder){super.init(coder:aDecoder)self.backgroundColor=UIColor.redColor()}overrideinit(frame:CGRect){super.init(f

swift - 在 Swift 中在哪里初始化?

我有一个关于Swift中的初始化的非常普遍的问题。与ObjectiveC不同,现在可以在函数外的声明中直接调用init():例如classViewController:UIViewController{letmyView:UIView=UIView()overridefuncviewDidLoad(){super.viewDidLoad()myView.frame=getFrame()myView.backgroundColor=UIColor.redColor()self.view.addSubview(myView)}funcgetFrame()->CGRect{returnCGR

ios - 每次呈现时查看 Controller 原点更改

我的ViewController应该是这样的:有时候是这样的:我想在圆圈中显示一个ViewController,然而,几乎每次圆圈中的ViewController(ResultViewController)出现时,它的位置都不同,尽管它的属性没有改变根本。这是我的代码:funcopenCircle(withCentercenter:CGPoint,dataSource:([Items],Int,String)){self.addCircle(withCenter:center,dataSource:dataSource)}funcaddCircle(withCentercircleCe

swift - 使 subview 适合容器并正确调整大小

我正在尝试加载动态Nib作为容器的subview。我几乎让它工作了,除了subview有一个我似乎无法摆脱的偏移量(参见下图中的粉红色View)。从View层次调试:正如您在第二张图片中看到的那样,容器框架已正确定位,而subview不是,出于某种原因。我真的不知道自动布局是怎么回事。这是处理加载Nib并将其分配为subview的代码:注释掉的代码是我试图让它工作的所有东西,但没有成功。我认为自动版式无需我做任何事情就可以自行工作,但默认情况下它会加载Nib而不调整它的大小。这意味着前导anchor和顶部anchor是正确的,但是Nib会使用其全尺寸...(参见下图)所以问题是,我需要

ios - 上拉和放下 UIView 并改变 x 位置

编辑这是我想要可视化的(忽略丑陋的红线,它只是表示UIView的移动):我想要一个在屏幕中间初始化的UIView。在那之后,我想向上推它,重力将它拉下来,直到它离开屏幕。我的老问题适用于UIPushBehaviour、UIDynamicBehaviour和UIGravityBehaviour(见下文)。Matt指出UIPushBehaviour可能不是正确的选择,因为它在iOS上可用的所有屏幕尺寸上都无法正常工作。我可以用UIView.animate函数做到这一点,但它真的是静态的,看起来不自然。使用UIPushBehaviour、UIDynamicBehaviour和UIGravit

ios - ARKit 添加 UIView xib 文件 Swift 4

当我检测到我的anchor时,我添加了一个xibUIView文件作为我的SCNBox的Material,但是当我关闭这个ViewController时,应用程序卡住了,这是我的代码:vardetectedDataAnchor:ARAnchor?varmyView=UIView()overridefuncviewDidLoad(){super.viewDidLoad()myView=(Bundle.main.loadNibNamed("ARViewOne",owner:nil,options:nil)![0]as?UIView)!}funcrenderer(_renderer:SCNSc