ios - 如何在 UIView 中自定义此图像选项卡,使用 @IBDesignable 和 @IBInspectable 更好

标签 ios swift uistoryboard

如何在UIView中绘制下面的选项卡图像?文本是可变的,这意味着图像可以在宽度上拉伸(stretch)。我知道在XCode6中,它支持实时渲染。所以我想如果可能的话,它的颜色、文本和大小可以在属性检查器中设置。

tab image

最佳答案

您必须创建一个基于 UIView 的自定义类。此类声明为 @IBDesignable 并具有 @IBInspectable 属性。重写 UIView.drawRect(),您就可以完全自由地控制 View 的显示方式。

这里是一个示例类,可以帮助您入门。

import UIKit

@IBDesignable
class MyTabView: UIView {
    @IBInspectable tabTitle: String = ""
    @IBInspectable tabColor: UIColor = UIColor.clearColor()

    override init(frame: CGRect) {
        super.init(frame: frame)
        // Initialization code
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

    override func prepareForInterfaceBuilder() {
        // stuff for interface builder only
    }

    override func drawRect(rect: CGRect)
    {
        // this is where your view gets drawed
        self.layer.cornerRadius = 10
        self.layer.masksToBounds = true
    }
}

关于ios - 如何在 UIView 中自定义此图像选项卡,使用 @IBDesignable 和 @IBInspectable 更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26653253/

相关文章:

ios - IBDesignables - 构建失败

ios - 在 map 解析中显示所有用户的地理点

swift - 如何单击以选择 WKWebView 中的文本

xcode - 如何针对多个 iOS 设备(即多个 Storyboard)进行开发?

iphone - 是否可以在 iPhone 和 iPad Storyboard之间共享 View Controller ?

ios - 如何将 NSData 编码为字符串

ios - 删除 iOS 中谷歌地图聚类中的特定标记

ios - 通过点击单元格内的图像从 UITableViewCell 切换

ios - 如何使 initWithNibName 表现得像 instantiateViewControllerWithIdentifier

ios - 为 arm64 iOS 构建 C 库 (GMP)