草庐IT

iBoutlet

全部标签

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 - 一次到达 NSTextField 的两个 IBOutlets

我有一个包含两个NSTextField的登录页面,所以我在我的ViewController中创建了两个@IBOutlets。对于某些样式,我必须同时调用它们。我想给他们相同的属性,但我不想称他们为个体。那么我怎样才能立即联系到他们并为他们提供像inputFields.isBordered=true这样的属性对于iOS,swift提供了@IBOutletCollection,但对于MacOS则没有。@IBOutletweakvaremailInput:NSTextField!@IBOutletweakvarpasswordInput:NSTextField!overridefuncvie

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扩展来处理自动布局代码如下:

ios - 测试私有(private)@IBOutlets 和@IBActions

我们可以将@IBOutlets和@IBAction设为私有(private)。示例:classMyViewController:UIViewController{@IBOutletprivateweakvarmyLabel:UILabel!@IBActionprivatefuncnextTapped(sender:UIButton){//Dosomething}}我们无法在类外访问此属性和方法,这对我来说是件好事。但是如何使用私有(private)channel和行动来测试类(class)呢?有没有什么方法可以在XCTestCase中测试私有(private)导出或方法,或者我必须将它

swift - 按名称获取导出变量

寻找一种在swift中以编程方式访问socket的方法:@IBOutletvarlabel1:UILabel?varoutletName="label1"view[outletName].text="hello,world!"像这样创建我自己的自定义映射是唯一的方法吗?@IBOutletvarlabel1:UILabel?letoutlets=["label1":label1]letoutletName="label1"outlets[outletName].text="hello,world!"编辑:看来我原来的问题措辞不当,让我们再试一次:我正在寻找通过一些字符串标识符访问变量。在

ios - 在没有 IBOutlets 的情况下以编程方式更新布局约束 - Swift

我正在尝试通过在点击“打开”按钮时更改左anchor约束来制作滑出菜单。我见过有人在约束上使用IBOutlets来做到这一点,但我正在使用的View是完全以编程方式制作的,阻止了我这样做。View最初位于屏幕之外,所以我认为我可以在点击“打开”按钮时更改约束,但下面的代码什么也没做。@objcfuncslideMenu(){sideMenu.leftAnchor.constraint(equalTo:view.leftAnchor,constant:0).isActive=trueview.setNeedsUpdateConstraints()}有没有办法在没有IBOutlet的情况下

ios - 在 prepareForSegue 中意外发现 nil IBOutlet

我有一个详细ViewController,我想将标签文本设置为使用indexPath行从数组中获取的值。overridefuncprepareForSegue(segue:UIStoryboardSegue,sender:AnyObject?){if(segue.identifier=="showView"){letdetailVC:DetailViewController=segue.destinationViewControlleras!DetailViewControllerletindexPath=self.MainTableView.indexPathForSelectedR