Paintcode 为自定义按钮生成 iOS 代码(不工作)

Posted

技术标签:

【中文标题】Paintcode 为自定义按钮生成 iOS 代码(不工作)【英文标题】:Paintcode generated iOS code for custom button(not working) 【发布时间】:2014-03-09 15:47:59 【问题描述】:

我正在使用 Paintcode 为我的应用创建圆形按钮。我遵循的步骤是 - 创建为 UIButton 派生的新类,将由paintcode 生成的代码粘贴到 (void)drawRect:(CGRect)rect 中并设置按钮以使用我的自定义类。但是我做错了,因为按钮根本没有任何形状,它只是一个标签。这是我使用的代码 -

//// Color Declarations
UIColor* strokeColor = [UIColor colorWithRed: 0 green: 0 blue: 0 alpha: 1];
UIColor* fillColor2 = [UIColor colorWithRed: 0.886 green: 0 blue: 0 alpha: 1];

//// Rounded Rectangle Drawing
UIBezierPath* roundedRectanglePath = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(44.5, 45.5, 48, 20) cornerRadius: 4];
[fillColor2 setFill];
[roundedRectanglePath fill];
[strokeColor setStroke];
roundedRectanglePath.lineWidth = 1;
[roundedRectanglePath stroke];

【问题讨论】:

【参考方案1】:
//// Color Declarations
UIColor* strokeColor = [UIColor colorWithRed: 0 green: 0 blue: 0 alpha: 1];
UIColor* fillColor2 = [UIColor colorWithRed: 0.886 green: 0 blue: 0 alpha: 1];

//// Frames: Set frame to "rect" to have the custom button fit in the UIButton frame
CGRect frame = CGRectMake(45, 45, 48, 20);


//// CustomButton

    //// Rounded Rectangle Drawing
    UIBezierPath* roundedRectanglePath = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(CGRectGetMinX(frame) + 1.5, CGRectGetMinY(frame) + 0.5, CGRectGetWidth(frame) - 3, CGRectGetHeight(frame) - 2) cornerRadius: 4];
    [fillColor2 setFill];
    [roundedRectanglePath fill];
    [strokeColor setStroke];
    roundedRectanglePath.lineWidth = 1;
    [roundedRectanglePath stroke];

【讨论】:

以上是关于Paintcode 为自定义按钮生成 iOS 代码(不工作)的主要内容,如果未能解决你的问题,请参考以下文章

PaintCode 绘图代码 android 使用像素而不是点/DP

Objective C - 从这个 PaintCode 代码创建 UIImage

paintcode生成贝塞尔曲线相关代码实现动画效果

调整 PaintCode 应用程序生成的图像大小

为 PaintCode 代码创建的 UIButton 添加高亮效果

无法为自定义栏按钮设置标题?