为啥这段代码不能访问'borderWidth'(附上iphone代码)

Posted

技术标签:

【中文标题】为啥这段代码不能访问\'borderWidth\'(附上iphone代码)【英文标题】:why can this code not access 'borderWidth' (iphone code attached)为什么这段代码不能访问'borderWidth'(附上iphone代码) 【发布时间】:2011-07-16 10:29:24 【问题描述】:

为什么这段代码不能访问'borderWidth'(附上iphone代码)

这是基于一个简单的测试项目,但我确实添加了 QuartzCore 框架,但这并没有帮助。仍然抛出错误,请参见下面的代码。我这样做的另一个项目工作正常,我看不出有什么区别

#import "Customview.h"
@implementation Customview
- (id)initWithCoder:(NSCoder *)coder 
    self = [super initWithCoder:coder];
    if (self) 

        // UI Layout
        self.layer.borderWidth = 5; // ERROR error: accessing unknown 'borderWidth' component of a property
    
    return self;

【问题讨论】:

【参考方案1】:

您需要添加 QuartzCore 框架才能访问任何 UIView 的 layer 属性。你添加了吗?

如果您使用的是 xCode 4,请按照以下步骤添加框架

1. Select Target
2. Build Phases
3. Link Binary with Library Section
4. Tap + and find for the Quartz
5. Add Framework. 

现在,将它导入到您想要访问任何 UIControl 的图层属性的任何位置。

#import <QuartzCore/QuartzCore.h>

希望对您有所帮助。

【讨论】:

另外你需要import 是的,我确实这样做了(但没有帮助?) - 转到 Target => Build Phases => Link Binary with Libraries => 添加了 QuartzCore.framework。我还有什么需要做的吗?您不必有任何特殊的“导入”行吗? 是的,格雷格,你需要写导入声明我编辑了我的答案检查。

以上是关于为啥这段代码不能访问'borderWidth'(附上iphone代码)的主要内容,如果未能解决你的问题,请参考以下文章

为啥这段代码会导致访问不正确? [关闭]

为啥这个闭包不能访问 'this' 关键字? - jQuery

为啥这段代码不能线性扩展?

为啥这段代码不能在 Java 中运行? [复制]

为啥我不能使用 jquery 访问 ajax 拉取的内容 [重复]

为啥这段代码不能加载我的 NIB/XIB