Ios IB_可为UIButton设计无法呈现实例
我创建了一个Ios IB_可为UIButton设计无法呈现实例,ios,ios8,uibutton,xcode7,Ios,Ios8,Uibutton,Xcode7,我创建了一个UIButton类的类别,使用IB_DESIGNABLE。但是我遇到了一个奇怪的错误无法渲染RoundedCornerButton的实例:渲染视图需要超过200毫秒。您的绘图代码可能会出现性能缓慢的问题。我尝试了许多关于此网站的建议,但仍然无法修复它。请帮助我找到根本原因。有关详细信息,请参见图片(RoundCornerButton:是UIButton类的类别) 更新:圆形拐角按钮的代码类: .h文件 #import <UIKit/UIKit.h> IB_DESIG
UIButton
类的类别,使用IB_DESIGNABLE。但是我遇到了一个奇怪的错误无法渲染RoundedCornerButton的实例:渲染视图需要超过200毫秒。您的绘图代码可能会出现性能缓慢的问题。
我尝试了许多关于此网站的建议,但仍然无法修复它。请帮助我找到根本原因。有关详细信息,请参见图片(RoundCornerButton:是UIButton类的类别)
更新:圆形拐角按钮的代码类:
.h文件
#import <UIKit/UIKit.h>
IB_DESIGNABLE
@interface RoundedCornerButton : UIButton
@property (nonatomic) IBInspectable int cornerRadius;
@property (nonatomic) IBInspectable int borderWidth;
@property (nonatomic) IBInspectable UIColor* borderColor;
@end
我可以成功地在设备上运行我的项目,但我得到了上面的红色警告。真奇怪,我使用的是Xcode 7.0)你不能这样玩
drawRect
中的层。那不是绘画!绘画是关于内容的
将该代码移到其他地方,例如从NIB唤醒和prepareforPrinterFaceBuilder
(两者都有),一切都会好起来
下面是示例代码:
@implementation RoundedCornerButton
-(void) config {
self.layer.borderWidth = self.borderWidth;
self.layer.borderColor = self.borderColor.CGColor;
[self.layer setCornerRadius:self.cornerRadius];
self.clipsToBounds = YES;
}
-(void)prepareForInterfaceBuilder {
[self config];
}
-(void)awakeFromNib {
[super awakeFromNib];
[self config];
}
@end
您可以看到它在Xcode 7的IB中运行良好:
你不能在drawRect
中玩你的图层。那不是绘画!绘画是关于内容的
将该代码移到其他地方,例如从NIB唤醒和prepareforPrinterFaceBuilder
(两者都有),一切都会好起来
下面是示例代码:
@implementation RoundedCornerButton
-(void) config {
self.layer.borderWidth = self.borderWidth;
self.layer.borderColor = self.borderColor.CGColor;
[self.layer setCornerRadius:self.cornerRadius];
self.clipsToBounds = YES;
}
-(void)prepareForInterfaceBuilder {
[self config];
}
-(void)awakeFromNib {
[super awakeFromNib];
[self config];
}
@end
您可以看到它在Xcode 7的IB中运行良好:
你不能在drawRect
中玩你的图层。那不是绘画!绘画是关于内容的
将该代码移到其他地方,例如从NIB唤醒和prepareforPrinterFaceBuilder
(两者都有),一切都会好起来
下面是示例代码:
@implementation RoundedCornerButton
-(void) config {
self.layer.borderWidth = self.borderWidth;
self.layer.borderColor = self.borderColor.CGColor;
[self.layer setCornerRadius:self.cornerRadius];
self.clipsToBounds = YES;
}
-(void)prepareForInterfaceBuilder {
[self config];
}
-(void)awakeFromNib {
[super awakeFromNib];
[self config];
}
@end
您可以看到它在Xcode 7的IB中运行良好:
你不能在drawRect
中玩你的图层。那不是绘画!绘画是关于内容的
将该代码移到其他地方,例如从NIB唤醒和prepareforPrinterFaceBuilder
(两者都有),一切都会好起来
下面是示例代码:
@implementation RoundedCornerButton
-(void) config {
self.layer.borderWidth = self.borderWidth;
self.layer.borderColor = self.borderColor.CGColor;
[self.layer setCornerRadius:self.cornerRadius];
self.clipsToBounds = YES;
}
-(void)prepareForInterfaceBuilder {
[self config];
}
-(void)awakeFromNib {
[super awakeFromNib];
[self config];
}
@end
您可以看到它在Xcode 7的IB中运行良好:
指定的IBDesignable在哪里?很好,您向我们显示了错误,但您还需要向我们显示代码。是的,很好,我看到了问题。指定的IBDesignable在哪里?很好,您向我们显示了错误,但您也需要向我们显示代码。是的,很好,我看到问题了。您的IBDesignable指定在哪里?很好,您向我们显示了错误,但您还需要向我们显示您的代码。是的,非常好,我看到问题了。您的IBDesignable指定在哪里?很好,您向我们显示了错误,但您也需要向我们显示您的代码。是的,非常好,我看到了问题。感谢您的支持。但是我仍然在Xcode 7.0上遇到了这个错误,现在我将Xcode更新为7.1,错误消失了。我不确定,但这似乎是Xcode 7.0的错误。尽管如此,我所说的仍然是很好的建议!相信我。好吧,我会按照你的建议去做,但我不能确定你的答案是否是根本原因。因为它无法再次清除Xcode 7.0上奇怪的红色警告,非常感谢您的快速响应。嗯,我不能同意。看,我添加了代码和屏幕截图。这在Xcode 7上运行良好。好的,matt,我会再试一次,并尽快回复感谢您的支持。但是我仍然在Xcode 7.0上遇到了这个错误,现在我将Xcode更新为7.1,错误消失了。我不确定,但这似乎是Xcode 7.0的错误。尽管如此,我所说的仍然是很好的建议!相信我。好吧,我会按照你的建议去做,但我不能确定你的答案是否是根本原因。因为它无法再次清除Xcode 7.0上奇怪的红色警告,非常感谢您的快速响应。嗯,我不能同意。看,我添加了代码和屏幕截图。这在Xcode 7上运行良好。好的,matt,我会再试一次,并尽快回复感谢您的支持。但是我仍然在Xcode 7.0上遇到了这个错误,现在我将Xcode更新为7.1,错误消失了。我不确定,但这似乎是Xcode 7.0的错误。尽管如此,我所说的仍然是很好的建议!相信我。好吧,我会按照你的建议去做,但我不能确定你的答案是否是根本原因。因为它无法再次清除Xcode 7.0上奇怪的红色警告,非常感谢您的快速响应。嗯,我不能同意。看,我添加了代码和屏幕截图。这在Xcode 7上运行良好。好的,matt,我会再试一次,并尽快回复感谢您的支持。但是我仍然在Xcode 7.0上遇到了这个错误,现在我将Xcode更新为7.1,错误消失了。我不确定,但这似乎是Xcode 7.0的错误。尽管如此,我所说的仍然是很好的建议!相信我。好吧,我会按照你的建议去做,但我不能确定你的答案是否是根本原因。因为它无法再次清除Xcode 7.0上奇怪的红色警告,非常感谢您的快速响应。嗯,我不能同意。看,我添加了代码和屏幕截图。这在Xcode 7上运行良好。好的,马特,我会再试一次并尽快回复