小编Joe*_*ppo的帖子

CGColorGetComponents()返回什么?

CGFloat* colors = CGColorGetComponents(hsbaColor.CGColor);
Run Code Online (Sandbox Code Playgroud)

这会返回浮点数还是浮点数组?看起来星号是创建数组的简写.那是对的吗?

当我在HSB UIColor对象的CGColor属性上调用此函数时,它是否将值转换为RGB?

iphone cocoa-touch core-graphics cgcolor uicolor

8
推荐指数
2
解决办法
9746
查看次数

是否可以使用FSEvents获取文件夹已被移动的通知?

我正在使用FSEvents API来获取我正在跟踪的本地目录中的更改通知.

是否可以使用FSEvents或其他任何内容获得已监视目录已移至磁盘上其他位置的通知?

更新:

这是我到目前为止的代码,我现在正在尝试使用FSEventStreamCreate的kFSEventStreamCreateFlagWatchRoot标志来获取根更改通知,到目前为止还没有成功.

- (void)registerForFileSystemNotifications {

    NSString *watchedDirectoryPath = [[NSUserDefaults standardUserDefaults] valueForKey:kMyWatchedDirectoryPathKey];
    self.watchedDirectoryFileDescriptor = open([watchedDirectoryPath cStringUsingEncoding:NSUTF8StringEncoding], O_RDONLY);

    NSArray *paths = [NSArray arrayWithObject:watchedDirectoryPath];
    void *appController = (void *)self;
    FSEventStreamContext context = {0, appController, NULL, NULL, NULL};
    FSEventStreamRef streamRef = FSEventStreamCreate(NULL, 
                                                     &fsevents_callback, 
                                                     &context, 
                                                     (CFArrayRef) paths, 
                                                     kFSEventStreamEventIdSinceNow, 
                                                     (CFTimeInterval)2.0, 
                                                     kFSEventStreamCreateFlagUseCFTypes | kFSEventStreamCreateFlagWatchRoot);

    FSEventStreamScheduleWithRunLoop(streamRef, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);
    FSEventStreamStart(streamRef);

}

void fsevents_callback(ConstFSEventStreamRef streamRef, 
                       void *userData, 
                       size_t numumberOfEvents, 
                       void *eventPaths, 
                       const FSEventStreamEventFlags eventFlags[], 
                       const FSEventStreamEventId eventIds[]) {

    MyAppController *appController = (MyAppController *)userData;   
    char *newPath = calloc(4096, …
Run Code Online (Sandbox Code Playgroud)

cocoa fsevents

8
推荐指数
1
解决办法
2344
查看次数

在没有xib的Cocoa Touch中以编程方式加载视图控制器和视图层次结构

似乎所有的Cocoa Touch模板都设置为加载一个笔尖.

如果我想启动一个将要使用视图控制器的新项目,并以编程方式加载其视图(层次结构),而不是从nib/xib加载,那么设置或调整模板的步骤是什么.

我虽然只需要实现-loadView,但每次尝试这样做时都会遇到麻烦.

iphone cocoa-touch uiviewcontroller uikit

7
推荐指数
1
解决办法
1万
查看次数

如何在UIKIt中构建自定义控件?

我的UIView的子类处理触摸事件并在触摸开始和跟踪发生时更新内部值.

我的视图控制器在屏幕上加载此自定义视图.设置我的视图控制器以监听自定义控件的值更改的最佳方法是什么?

iphone cocoa-touch

3
推荐指数
1
解决办法
2570
查看次数

你如何覆盖UIView的+(id)层; 类方法?

我在文档中读到UIView的'layer'属性是只读的,你必须覆盖UIView的

+ (id)layer;
Run Code Online (Sandbox Code Playgroud)

class方法来访问图层的样式属性.

是否有任何覆盖此方法的示例,以返回已应用样式属性的图层/视图?

iphone core-animation

2
推荐指数
1
解决办法
7739
查看次数

你如何检查objective-c和cocoa的理智?

在objective-c和cocoa中检查理智的首选方法是什么?

cocoa cocoa-touch objective-c

1
推荐指数
1
解决办法
277
查看次数

如何使用CALayers保存状态?

我有一个简单的iphone应用程序,使用CALayer的子类绘制块,并试图找到保存状态或持久保存当前创建的图层的最佳方法.

我尝试使用Brad Larson之前关于在NSUserDefaults中存储自定义对象的问题的答案,这些对象用于持久化我的CALayer子类,但不是它的基本状态,如几何和背景颜色,所以它们在那里,但没有重新启动渲染.

我使我声明的实例变量符合NSCoding协议但不知道如何使CALayer的属性做同样的事情而不重新声明它的所有属性.或者这不是正确/最好的方法吗?

这是我用来存档图层数组的代码:

[[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:viewController.view.layer.sublayers] forKey:@"savedArray"];
Run Code Online (Sandbox Code Playgroud)

以下是我用于在-viewDidLoad中重新加载图层的代码:

    NSUserDefaults *currentDefaults = [NSUserDefaults standardUserDefaults];

NSData *dataRepresentingSavedArray = [currentDefaults objectForKey:@"savedArray"];

if (dataRepresentingSavedArray != nil) {

    [self restoreStateWithData:dataRepresentingSavedArray];
Run Code Online (Sandbox Code Playgroud)

并且in -restoreStateWithData:

    NSArray *savedLayers = [NSKeyedUnarchiver unarchiveObjectWithData:data];

if (savedLayers != nil) {

    for(layer in savedLayers) {

        [self.view.layer addSublayer:layer];

    }

    [spaceView.layer layoutSublayers];      
}
Run Code Online (Sandbox Code Playgroud)

cocoa cocoa-touch core-animation calayer uikit

1
推荐指数
1
解决办法
1908
查看次数