使用 xib 和 viewController
Posted
技术标签:
【中文标题】使用 xib 和 viewController【英文标题】:Working with xib and viewController 【发布时间】:2016-04-21 10:31:21 【问题描述】:我在 .xib 文件中有一个按钮。
我希望如果我单击该按钮,应该更改 viewController 的 .xib 文件颜色。
我该怎么做?
我应该使用 NSNotification 还是有其他方法可以做到这一点?
【问题讨论】:
使用 loadnibname 加载 xib 并将视图作为子视图添加到视图控制器并设置按钮的目标操作:) 在视图控制器中编写方法最后使用 [self.查看 setBackgroundColor:"your color"] 就是这样:) 按钮的目标操作将在 .xib 的 swift 文件中。而不是在其视图控制器中。我说的对吗? 我可以知道你为什么在单独的xib中有一个按钮吗?你为什么不把它放在你的viewController的xib本身???代码会更容易处理不是吗:) 实际上我的 .xib 中有颜色颗粒。在我的 viewController 中,我必须加载这么多不同的视图。这就是为什么我想使用 .xib 【参考方案1】:UIViewController
没有颜色。您可能在谈论它的根视图,如果它嵌入在 UINavigationController
中,可能是来自 UINavigationBar
的 tintColor
?
无论如何,连接到您的UIButton
的IBAction
将满足您的需求。
【讨论】:
你总是可以设置 self.view.backgroundColor :) 并且 viewcontroller 的颜色会改变 :P 每个 viewcontroller 里面都有一个视图不是吗 :P @SandeepBhandari 这是错误且具有误导性的。UIViewController
没有改变任何颜色,改变的是它的根UIView
,请不要传播错误信息。
我相信我说过同样的话:P self.view.backgroundColor 意味着您正在更改 UIViewController 的根视图 :) 没有任何误导 :)
引用你viewcontroller's color will be changed
。 这是错误的。所以不,你没有说同样的话。【参考方案2】:
将 xib 上的 UIButton
与继承自 UIViewController
的类中的 IBAction
连接起来,并更改 UIViewController
的 view
属性。你可以使用self.view.backgroundColor
这里是简单的代码 sn-p 来做到这一点。希望对您有所帮助。
@IBAction func myButtonPressed(sender: AnyObject)
self.view.backgroundColor = UIColor.redColor() //Or any color of your choice
【讨论】:
我可以将 .xib 的按钮连接到它的 viewController 类吗? @khunshan 是的。如果您在 xib -> Identity Inspector(在右侧面板上)-> Class 中设置了 UIViewController 继承类的名称。您需要在代码中创建一个 IBAction 并将其与 xib 文件中的 UIButton 连接。以上是关于使用 xib 和 viewController的主要内容,如果未能解决你的问题,请参考以下文章