小编Dus*_*tin的帖子

在Xcode中使用tap功能制作图像的最佳方法?

我正在尝试制作一个游戏,如果你点击一个小的50X53图像显示你点击它的地方,我开始使50x53图像的东西一个按钮,当你触摸按钮按钮的背景变为红色(到模拟在那里添加了一个图像)所以这里我在viewController上有大约48个按钮(6X8),每当我按下其中一个按钮时,背景变为红色,确定简单,但现在我想做的是拥有UI完全空白(您看不到任何按钮)然后当您按下给定区域时,会在您按下的那个小空间中弹出一个图像.我想而不是做

-(IBAction)imagePressed
{
sender.background=[UIColor redColor];
}


-(IBAction)imagePressedAgain
{
sender.background=[UIColor whiteColor];
}
Run Code Online (Sandbox Code Playgroud)

我打算做点什么

-(IBAction)imagePressed
{
sender.image=@"whateverImage.png";
//I know this isn't the right syntax to change a buttons image (and i don't even know if i can change a buttons image) but anyways i was going to try to here
}
-(IBAction)imagePressedAgain
{
sender.image=@"imageThatIsJustAWhiteBackground";
}
Run Code Online (Sandbox Code Playgroud)

所以我试着这样做,然后想到自己,嗯,也许我不应该这样做,我应该使用一堆小UIImageViews并将它们全部放在interfaceBuilder上?喜欢而不是在屏幕上有48个按钮,我会有48个UIImageViews?然后我想我会为每个添加一个轻拍手势识别器?或者我应该坚持我的旧计划并更改按钮图像?

(o,顺便说一句,我不能让图像与用户在屏幕上触摸手指的位置完全成比例,我必须将它放在有组织的网格中,所以我必须有48个.)

xcode objective-c uibutton uiimage

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

NSPredicate而不是循环来过滤对象数组

有人告诉我,我可以NSPredicate用来复制这种方法的结果

- (void) clearArrayOut
{
    bool goAgain = false;

    for (int j=0; j<[array count]; j++)
    {
        if ([[array objectAtIndex:j] someMethod] == NO)
        {
            [array removeObjectAtIndex:j];
            goAgain = true;
            break;
        }
    }

    if (goAgain) [self clearArrayOut];
}
Run Code Online (Sandbox Code Playgroud)

如何NSPredicate根据自定义类调用的某些方法的结果来过滤数组?

objective-c nspredicate

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

类别何时不好/危险?

我正在使用Core Data的类别.我读过的一些教程和讲座我听过说类别通常被认为是"坏"的做法.但是因为Objective-C是如此动态,所以在其他地方定义方法似乎是完全可以的,特别是因为只能使用类的公共属性.使用类别时我应该注意哪些陷阱?或者是否有一些理由认为类别实际上是不好的做法?我将它们与Core Data一起使用的原因是每次重新生成子类时我都没有重写我的附加方法.

objective-c objective-c-category

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

使用动画隐藏和显示scrollview

在我的应用程序中,我有一个滚动视图,当我按下一个按钮时,它会被隐藏,当我再次按下它时出现.

我用scrollview.hidden = YES(或不)来做.

但我想用动画来做.例如,它可能会通过移动从屏幕底部消失,并以相同的方式显示.我怎样才能做到这一点?

编辑:

[UIView beginAnimations:@"myAnimation" context:nil];
CGRect Frame = bottomScroller.frame;
if(Frame.origin.y == 380){
    Frame.origin.y = 460;
}else{
    Frame.origin.y = 380;
}
bottomScroller.frame = Frame;
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

这解决了我的问题......

animation objective-c scrollview uikit ios

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