草庐IT

IBoutlet

全部标签

ios - 展开可选 IBOutlet 值时为零

我遇到了一个fatalerror:在为IBOutlet展开可选值时意外发现nil。在我的自定义View中,我已将我的导出与XIB文件相关联。我已经仔细检查过这个。这是它的样子:@IBOutletweakvarlabel:UILabel!{didSet{label.textColor=.redColor()}}我的layoutSubviews实现如下:overridefunclayoutSubviews(){super.layoutSubviews()label.preferredMaxLayoutWidth=label.frame.size.width}尽管layoutSubviews

swift - 如何以编程方式连接 Swift/MacOS 中的 outlets 和 action

我有一个简单的例子。我用ctrl连接了左按钮1和标签1,并将其拖动到Controller类。我如何以编程方式对右侧的button2label2执行相同的操作(无需按住ctrl拖动)那是我的代码:classViewController:NSViewController{@IBOutletweakvarlabel1:NSTextField!//connectedwithctrl-drag@IBOutletweakvarbutton1:NSButton!//connectedwithctrl-drag@IBOutletweakvarlabel2:NSTextField!//notyetcon

ios - 当计算实例变量而不是存储实例变量时,行为会有所不同

我有一个从xib文件启动的自定义UIView类。它具有名为title的实例属性,类型为String?。每当设置title属性时,UITextField的文本都会更改为title属性的值。如果title属性是存储属性,则程序按预期工作。如果title属性是一个计算属性,那么程序会因EXC_BAD_ACCESS错误而崩溃,我认为这是因为IBOutlet还没有已初始化。谁能解释为什么如果title是一个存储属性,它可以工作,但如果它是一个计算属性,它就会失败?以下是源码——NibView是UIView的子类,负责xib文件的加载classNibView:UIView{overrideinit

xcode - IBOutlet 变量名被 ( ` ) 包围?

这个问题在这里已经有了答案:HowtouseObjective-CclasseswithnameswhicharekeywordsinSwift(1个回答)关闭7年前。我不确定为什么,但出于某种原因,我像往常一样将一个按钮作为Outlet控制拖动到ViewController,但该名称被重音符号(`)包围。是否有一个原因?我之前在Swift中从未见过这种表示法。它代表什么?我的奥特莱斯@IBOutletweakvarq1:UITextField!@IBOutletweakvarq2:UITextField!@IBOutletweakvarq3:UITextField!@IBOutlet

swift - 为什么该操作无法连接到目标类 NSViewController?

我正在尝试学习Swift,但我似乎陷入了这个(不可否认,可能非常简单)问题-错误如下:Couldnotconnectaction,targetclassNSViewControllerdoesnotrespondto-(encbutton/decbutton)这是我的代码。我正在Storyboard中设计我的界面,并通过@IB(Outlet/Action)将它连接到代码。//ViewController.swiftimportCocoaimportFoundationclassTabViewController:NSTabViewController{//Thishasbeenchan

ios - IBOutlet 崩溃

我用xib在swift中写了一个自定义View。View显示正确,@IBAction也是正确的。但是当我添加一个@IBOutlet时,应用程序会崩溃。错误信息是:2016-03-1522:32:16.650****[42692:1015001]***Terminatingappduetouncaughtexception'NSUnknownKeyException',reason:'[setValue:forUndefinedKey:]:thisclassisnotkeyvaluecoding-compliantforthekeycancelBtn.'和xib:代码是:classPYC

swift - 我可以在协议(protocol)中使用@IBOutlets吗(Swift)

我有一个按以下方式定义的小协议(protocol):importUIKitprotocolHasMeterAnimation{funcanimateMeter(scrollableView:UIScrollView)}它的实现需要使用IBOutlets:funcanimateMeter(scrollableView:UIScrollView){letmaxYPosTableview=scrollableView.frame.height+scrollableView.frame.origin.yletprogressBarRect=self.progressBar.frameletre

ios - Xcode 显示 "Expected declaration"错误,其中包含任何变量

每当我有一个变量或几乎任何其他东西时,都会收到这个错误。例如,我在这里放置了cpuString,当我调用它时出现错误importUIKitclassViewController:UIViewController{@IBOutletweakvarcpuLabel:UILabel!@IBOutletweakvarcoolerLabel:UILabel!@IBOutletweakvarmoBoLabel:UILabel!@IBOutletweakvarramLabel:UILabel!@IBOutletweakvargpuLabel:UILabel!@IBOutletweakvarpsuLa

swift - 在 Storyboard 中创建一个继承属性的导出

我想创建一个具有两个子类SubclassController和AnotherSUbClassController的基本ViewController类BasicController。BasicController控件内部有一个按钮的View,因此应该有一个weakvarbuttonThing:UIButton?其中的属性。在实际实现中,我想在界面的各个部分使用子类:我想在Storyboard中绘制它们,将按钮放在该绘图中,并通过socket将按钮连接到继承的buttonThing属性。但是等等,buttonThing属性是在父类(superclass)中公布的,甚至没有出现在子类的代码中

ios - 在代码中设置 IBOutlet 的自动布局约束

如果我有一个IBOutlet的UILabel,为什么我不能在代码中设置它的自动布局约束,而不必在Storyboard中设置至少一个约束?例如,假设我有一个在Storyboard中没有设置约束的IBOutletUILabel,我尝试将它放在superview的中心:overridefuncviewDidLoad(){super.viewDidLoad()self.label.setTranslatesAutoresizingMaskIntoConstraints(false)self.label.centerInSuperview()}然后我有一个UIView扩展来处理自动布局代码如下: