草庐IT

ios - UIWindow 子类 : Touches event not get fired

我想在当前项目中实现session时间功能。因此,为此我尝试子类化UIWindow并覆盖touchesBegan和touchesEnded方法。classBaseWindow:UIWindow{convenienceinit(){self.init(frame:UIScreen.mainScreen().bounds)}privatevarsessionTimeOutTimer:NSTimer?overridefunctouchesBegan(touches:Set,withEventevent:UIEvent?){sessionTimeOutTimer?.invalidate()}o

ios - 为什么具有便捷 init() 方法的 Swift UIView 子类在更新到 Swift 3.0 后会开始无限循环?

这是一个项目的一些代码,正如您在此处看到的那样,它在Swift2.3中运行良好。现在将项目升级到Swift3.0,这会在self.init()处产生无限循环。classMyView:UIView{fileprivateletfoo:Stringrequiredinit?(coderaDecoder:NSCoder){fatalError("init(NSCoder)hasnotbeenimplemented")}convenienceinit(){self.init()foo="bar"}}有人告诉我这在Swift2.3中也应该有无限循环。很公平,我相信,我只能告诉你它没有,但我不知道

ios - 子类对象在 swift 中不显示父类变量

我遇到了这个奇怪的问题,但不确定为什么。我有一个View类,它有一个协议(protocol)的委托(delegate)变量:classView:UIView{weakvardelegate:SampleProtocol?}protocolSampleProtocol:Class{}现在这个View类是另一个类的父类:classAnotherView:View当我在Objective-C类中创建AnotherView的IBOutlet时,它无法访问delegate变量并且不可见在swift.h文件中。有人可以解释一下我在这里做错了什么吗? 最佳答案

ios - 从 Swift 中的 View 子类加载 xib

我正在尝试在Swift项目中重用xib中的组件,但我使用的是ObjectiveC逻辑。因此,对View进行子类化并加载xib,然后在ViewController中实例化自定义View。将代码转换成Swift没有产生预期的结果。自定义View.swift:overrideinit(frame:CGRect){super.init(frame:frame)}requiredinit(coderaDecoder:NSCoder){super.init(coder:aDecoder)fatalError("Errordetected")self.commonInit()}privatefunc

ios - Swift 中的 UIPickerView 子类 : error optional value in viewForRow

我想继承UIPickerView以创建自定义DatePicker。我试过了,但是Swift中有一个错误说:unexpectedlyfoundnilwhileunwrappinganOptionalvalue在这一行:(view.viewWithTag(1)asUILabel).text=array[row]代码如下:classMyPickerView:UIPickerView,UIPickerViewDataSource,UIPickerViewDelegate{letarray=["one","two","three"]requiredinit(coderaDecoder:NSCod

swift - 为什么需要在 Swift 中为 UIViewController 子类添加空构造函数

为什么我需要添加这些构造函数(空),即使我不会将一些自定义初始化的东西添加到UIViewController子类中?overrideinit(){super.init()}requiredinit(coderaDecoder:NSCoder){super.init(coder:aDecoder)}overrideinit(nibNamenibNameOrNil:String?,bundlenibBundleOrNil:NSBundle?){super.init(nibName:nibNameOrNil,bundle:nibBundleOrNil)} 最佳答案

ios - 允许子类使用子类委托(delegate)

我正在尝试针对Swift中的问题实现一个干净的OOP结构。似乎Swift1.2和Apple对面向协议(protocol)编程的新拥抱应该是可能的。我有一个类A,它有自己的委托(delegate)ADelegate。A本身调用ADelegate的方法。两个子类继承了A:B和C。B有一些只有它才能调用的委托(delegate)方法,所以它想要自己的委托(delegate)BDelegate,它继承了ADelegate并添加了一些方法。同样,C希望它的delegate是CDelegate,CDelegate继承了ADelegate并增加了一些方法。最简洁的结构方式是给A一个属性vardele

swift - Sprite 子类检测触摸,尽管实际上触摸了空白空间

我正在对节点进行子类化以用于触摸检测。我有一个盒子parent,它旁边有一个线子,灰色空间只是空白:问题是当我点击灰色区域时,它会记录为对距离很远的框的触摸。这是我展示问题的代码,以及我糟糕的解决方法……我做了两组盒子,第一组是显示问题的,第二组是解决方法的:importSpriteKitclassGameScene:SKScene{enumsizez{staticletbox=CGSize(width:50,height:35),line=CGSize(width:200,height:10)}classBox:SKSpriteNode{overridefunctouchesBega

ios - 子类 XCTestCase 导致无法加载底层模块 XCTest

我正在编写一个用于测试目的的库。所以我需要在我的主要目标中而不是在我的单元测试目标中使用XCTest。目前正在使用Xcode9。当我导入XCTest时,出现错误“无法加载‘XCTest’的底层模块”。我知道主要目标不是针对框架进行链接,但是将其添加到链接框架(必需)中不会改变任何内容。我也查看了QuicksProject设置,但没有发现任何异常。我错过了什么? 最佳答案 这可能有点晚了,但你要做的是:主项目不与XCUnit框架链接。您应该为您的项目创建一个单独的测试目标(如果尚不存在),并将您的测试源文件添加到该目标。在项目导航器中

ios - Swift - 枚举的子类(或类似的东西)

我想做这样的事情......enumSpriteFrames:Int{caseNcaseNEcaseEcaseSEcaseScaseSWcaseWcaseNW}enumDroidSpriteFramesIdle:Int{varimage:String{switchself{caseN:return"droid_n"caseNE:return"droid_ne"caseE:return"droid_e"caseSE:return"droid_se"caseS:return"droid_s"caseSW:return"droid_sw"caseW:return"droid_w"caseNW