小编Sta*_*ley的帖子

为什么不同的块动画常量具有相同的值?

UIViewAnimationOptions
用块动画视图的选项.

enum {
   UIViewAnimationOptionLayoutSubviews            = 1 <<  0,
   UIViewAnimationOptionAllowUserInteraction      = 1 <<  1,
   UIViewAnimationOptionBeginFromCurrentState     = 1 <<  2,
   UIViewAnimationOptionRepeat                    = 1 <<  3,
   UIViewAnimationOptionAutoreverse               = 1 <<  4,
   UIViewAnimationOptionOverrideInheritedDuration = 1 <<  5,
   UIViewAnimationOptionOverrideInheritedCurve    = 1 <<  6,
   UIViewAnimationOptionAllowAnimatedContent      = 1 <<  7,
   UIViewAnimationOptionShowHideTransitionViews   = 1 <<  8,

   UIViewAnimationOptionCurveEaseInOut            = 0 << 16,
   UIViewAnimationOptionCurveEaseIn               = 1 << 16,
   UIViewAnimationOptionCurveEaseOut              = 2 << 16,
   UIViewAnimationOptionCurveLinear               = 3 << 16,

   UIViewAnimationOptionTransitionNone            = 0 << 20,
   UIViewAnimationOptionTransitionFlipFromLeft    = 1 << 20,
   UIViewAnimationOptionTransitionFlipFromRight …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c ios4 ios

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

Cocoa Interface Builder对象初始化

基于我所经历的文档和示例代码,我得到的印象是,当在Interface Builder中读取并配置在xcode中定义的类时,基于该类的对象被有效地创建并存储在xib或nib文件中.因此,在启动相应的应用程序时,可以使用该对象.

或者,对于尚未由Interface Builder处理的类,必须在xcode中显式编写诸如"new"语句之类的代码,以便创建和使用关联的对象.

拥有比我更了解的人来确认或纠正我对Interface Builder的非常天真的理解将是非常好的...

cocoa objective-c nscoding nib

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

在连接点击下的IB Inspector窗口中,Outlets和Referencing Outlets有什么区别?

我知道IBOutlet是一个编译器指令,指示以下变量声明充当其他对象的连接点."检查器"窗口中的2个术语可能会让初学者感到困惑.它们看起来像2种奥特莱斯.但它们可能意味着成为被引用的其他对象的Outlet和Outlets.更有知识的人可以证实这一点......

cocoa-touch objective-c interface-builder

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

关于CALayer和UIView的问题

目标是实现半透明层,该层将在需要时滑出以收集用户响应.半透明层上会有一些图标供用户选择.目前我正在使用一个似乎没问题的CALayer对象,它有一些动画行为.

但问题是CALayer根本没有对任何触摸事件做出反应.现在我想我应该使用UIView代替.UIView继承自UIResponder,因此其对象自然能够响应用户的事件.

这是UIView和CALayer之间的决定.对于CALayer,我已经做了很多工作,除了必须添加的触摸响应外,它看起来还不错.或者我应该使用UIView作为子视图(因为它具有内置触摸响应)?

希望有人知道这可能会有所帮助......

iphone calayer uiview

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

关于来自UITapGestureRecognizer的消息

以下是来自文档:

虽然轻拍是离散手势,但它们对于手势识别器的每个状态是离散的; 因此,当手势开始时发送相关联的动作消息,并且针对每个中间状态发送相关动作消息,直到(并且包括)手势的结束状态.

以上段落似乎表明发送了多条消息.消息将包括"开始"消息和"结束"消息.但不知怎的,我只是得到了"手势结束"的消息.有什么方法可以同时获得点击开始和结束消息吗?(我想跟踪的是 - "开始":用户触摸屏幕并"结束"的那一刻:用户将手指抬离屏幕的那一刻.)

希望有人知道这个可以帮助...

http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITapGestureRecognizer_Class/Reference/Reference.html#//apple_ref/occ/cl/UITapGestureRecognizer

iphone objective-c ios

3
推荐指数
2
解决办法
1313
查看次数

更改NSIndexPath对象的值

如果我有一个值为{0,0}的索引路径.将其更改为{0,1}的正确方法是什么?我知道如果它是一个普通的c数组,它只会是:

unsigned i_array[] = { 0, 0};
i_array[1] = 1;
Run Code Online (Sandbox Code Playgroud)

但是从NSIndexPath的文档中,我能得到的最接近的是:

– indexPathByRemovingLastIndex
– indexPathByAddingIndex:
Run Code Online (Sandbox Code Playgroud)

这看起来有点麻烦.有没有办法可以覆盖索引数组的最后一个成员?

iphone cocoa

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

将UIWebView委托属性设置为nil

根据文档,在处理UIWebView实例之前,需要将UIWebView委托属性设置为nil.

我的问题是:如果在IB中设置UIWebView,其委托指向文件所有者,这是一个viewController.并且UIWebView及其superview在执行过程中从未被处理掉,委托是否需要设置为nil?

我问这个因为看起来很难获得对UIWebView的引用.

希望知识渊博的人可以提供一些提示.

(非弧设置)

iphone cocoa objective-c

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

做链动画的正确方法

void (^first_animation)();
void (^second_animation)(BOOL finished);


// First animation

first_animation = ^()
{
    g_pin_info_screen.view.alpha = 1.0;
};


// Second animation

second_animation = ^(BOOL finished)
{
    g_shadow_layer.opacity = 0.0;

    void (^set_opacity_to_1)();

    set_opacity_to_1 = ^()
    {
        g_shadow_layer.opacity = 1.0;
    };

    [UIView animateWithDuration : 2.0
            delay               : 0.0
            options             : UIViewAnimationCurveEaseInOut
            animations          : set_opacity_to_1
            completion          : nil
     ];

};



// Begin the animations

{

    float duration;

    duration = 0.35;

    [UIView animateWithDuration : duration
            delay               : 0.00
            options             : UIViewAnimationCurveEaseInOut
            animations          : first_animation
            completion          : …
Run Code Online (Sandbox Code Playgroud)

objective-c ipad ios

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

实时设置MKA注释坐标

我有一个符合MKAnnotation协议的Map Point对象。它可以按预期工作,直到我尝试实时更改其坐标为止。

一开始我尝试使用:

[map_point setCoordinate : new_coordinate];
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为该属性是“只读”的。苹果文档说我应该添加一个自定义的“ setCoordinate”,它必须符合KVO。

阅读了有关KVO的文档。希望有人可以给出有关如何使setCoordinate KVO兼容的基本示例。

cocoa-touch mkannotation

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

尽管故意过度释放,但物体的保留计数从未低于1

我正在检查一些对象的保留计数

NSLog(@"r = %d", [aObject retainCount];
Run Code Online (Sandbox Code Playgroud)

似乎我能得到的最低值是"r = 1",即使我故意添加额外的"释放"调用

[aObject release];
Run Code Online (Sandbox Code Playgroud)

即使我尝试将"释放"和"NSLog"测试代码放在对象的dealloc 方法中,"r = 1"限制仍然 有效.

Cocoa运行时似乎忽略了我的额外版本,直到"r = 1",然后在示例程序的最后使用"EXC_BAD_ACCESS"崩溃(没有GC).

我唯一的解释(猜测)是我们需要r> = 1来访问对象.并且Cocoa运行时只是试图避免让任何对象的保留计数过早地变为0.

如果我错了,有人可以确认或纠正我吗?

cocoa memory-management objective-c retaincount

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