如何在 Swift 中硬编码 UIView 的大小属性

Posted

技术标签:

【中文标题】如何在 Swift 中硬编码 UIView 的大小属性【英文标题】:How to hardcode size attributes of UIView in Swift 【发布时间】:2015-05-12 19:55:46 【问题描述】:

我将UIView 子类化为条形(制作条形图),我如何为FirstBarView 硬编码大小属性?我得到错误:

FirstBarView 类型没有名为 frame 的成员?

import UIKit





    @IBDesignable class FirstBarView: UIView 


        @IBInspectable var FirstBarViewColor: UIColor = UIColor.orangeColor()

        override func drawRect(rect: CGRect) 

        FirstBarView.frame = CGRectMake(50, 200, 20, 400)

        
    

【问题讨论】:

【参考方案1】:

使用self 代替FirstBarView。 您正在刷新类而不是类的实例。

@IBDesignable class FirstBarView: UIView         
    @IBInspectable var FirstBarViewColor: UIColor = UIColor.orangeColor()
    override func drawRect(rect: CGRect) 
        self.frame = CGRectMake(50, 200, 20, 400)
    



//To create a new class with a rect.

var myFirstBarView = FirstBarView()
myFirstBarView.drawRect(CGRectMake(0,0,200,50))

【讨论】:

谢谢,现在如何让我的硬编码覆盖检查器中的尺寸属性? 我不确定我是否理解正确。但是如果您想知道如何设置框架,您可以将CGRectMake(…) 替换为rect。这将使框架与您使用 FirstBarView().drawRecht(/*Create Custom Rect*/) 传递的 CGRect 一样大 我将在哪里传递 x、y、宽度、高度值?

以上是关于如何在 Swift 中硬编码 UIView 的大小属性的主要内容,如果未能解决你的问题,请参考以下文章

Swift:如何通过按住按钮来逐步调整 UIView 的大小

如何在 Swift 2.0 中获得正确的 UIView 大小或边界?

Swift 如何使 UIView 大于手机屏幕-我们可以让它的大小与图像大小相同然后缩小

如何使用 Swift 从 UITableViewCell 内的 NIB 调整自定义 UIView 的大小?

如何避免在 COBOL 程序中硬编码凭据?

Xamarin.Forms:如何避免在 MVVM 绑定中硬编码字符串