小编Osc*_*mez的帖子

如何在不创建新CGPath的情况下移动CGPath

我正在创建一个CGPath在我的游戏中定义一个区域,如下所示:

CGPathMoveToPoint   ( myPath, NULL, center.x, center.y );
CGPathAddLineToPoint( myPath, NULL,center.x + 100, center.y);
CGPathAddLineToPoint( myPath, NULL, center.x + 100, center.y + 100);
CGPathAddLineToPoint( myPath, NULL, center.x,  center.y + 100);
CGPathCloseSubpath  ( myPath );
Run Code Online (Sandbox Code Playgroud)

我知道这只是一个正方形,我可以使用另一个,CGRect但我希望实际创建的路径实际上并不是一个矩形(我现在只是测试).然后简单地用以下方法检测触摸区域:

if (CGPathContainsPoint(myPath, nil, location, YES))
Run Code Online (Sandbox Code Playgroud)

这一切都很好,问题是CGPath可能每秒最多移动40次.如何在不创建新的情况下移动它?我知道我可以做这样的事情来"移动"它:

center.y += x;
CGPathRelease(myPath);
myPath = CGPathCreateMutable();
CGPathMoveToPoint   ( myPath, NULL, center.x, center.y );
CGPathAddLineToPoint( myPath, NULL,center.x + 100, center.y);
CGPathAddLineToPoint( myPath, NULL, center.x + 100, center.y + 100);
CGPathAddLineToPoint( myPath, NULL, center.x, …
Run Code Online (Sandbox Code Playgroud)

iphone core-graphics cgpath

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

如何在面朝上时检测iPhone是否正在旋转?

有没有办法检测躺在桌子上的iphone是否正在旋转?我确实意识到加速度计没有报告这种运动,也没有报告 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation方法.

有没有办法检测手机旋转的角度变化?谢谢.

iphone rotation detect orientation

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

iPhone如何在旋转设备时正确调整视图大小

我一直试图在视图控制器中调整视图,但到目前为止还没有运气.基本上我在视图的最底部有一个按钮,当方向从纵向变为横向时,按钮不再可见,因为它现在太远了.

如何调整此视图的大小,以便在方向更改时按钮仍然可见?我试过设置

self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
Run Code Online (Sandbox Code Playgroud)

基本上所有其他可能的组合,到目前为止没有运气.我知道我可以通过手动重新定位按钮来做到这一点,但是有更好的方法吗?

谢谢.

-Oscar

iphone cocoa-touch rotation orientation

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

Java最佳实践,在对象被修改之前或之后添加到集合中?

假设您要将x个对象添加到集合中,并在将它们添加到集合之后或之前修改对象属性.在修改对象之前或之后,何时将元素添加到集合中.

选项A)

public static void addToCollection(List<MyObject> objects) {
    MyObject newObject = new MyObject();
    objects.add(newObject);
    newObject.setMyAttr("ok");
}
Run Code Online (Sandbox Code Playgroud)

选项B)

public static void addToCollection(List<MyObject> objects) {
    MyObject newObject = new MyObject();
    newObject.setMyAttr("ok");
    objects.add(newObject);
}
Run Code Online (Sandbox Code Playgroud)

java collections object

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

XCode 4.3 - 从XCode 4.2升级后,perl无法找到C编译器

我最近升级到Lion和XCode 4.3,现在我用perl做的任何需要C编译器的东西都无法构建:

root# perl Makefile.PL 
Couldn't find your C compiler
Compilation failed in require at Makefile.PL line 5.
BEGIN failed--compilation aborted at Makefile.PL line 5.
Run Code Online (Sandbox Code Playgroud)

我的c编译器设置为:

root# perl -V:cc
cc='llvm-gcc-4.2';
Run Code Online (Sandbox Code Playgroud)

XCode 4.3上有什么改变吗?我现在如何为Perl设置C编译器?

c compiler-construction perl osx-lion xcode4.3

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

如何在NSArray中修改存储为NSValue的CGRect?

我正在使用以下行创建一个带有CGRects的NSArray:

[self setMyArray:[NSArray arrayWithObjects:[NSValue valueWithCGRect:CGRectMake(x,y,z,a)], [NSValue valueWithCGRect:CGRectMake(x,y,z,a)], nil]]
Run Code Online (Sandbox Code Playgroud)

然后,我经常尝试更新数组中的CGrects,如下所示:

for (NSValue *bound in myArray)
  {
   CGRect myRect = [bound CGRectValue];
   myRect.origin.y += 2;
  }
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,当循环再次运行时,原点仍然相同.我假设这与NSValue包装器有关?,我该怎么做才能在数组中实际更新该值?谢谢.

-Oscar

iphone nsarray

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

SQL报告如何计算符合特定条件的记录数

假设您有一个表,例如:

id   status  date
-----------------------
1    2       today
2    3       today
3    3       yesterday
4    2       yesterday
5    1       yesterday
Run Code Online (Sandbox Code Playgroud)

并且您希望查询计算给定日期的状态为1,2或3的数字或结果,在示例中,所需的结果集将为:

date        status 1   status 2  status 3 
            count      count     count 
------------------------------------------
today       0          1         1
yesterday   1          1         1
Run Code Online (Sandbox Code Playgroud)

谁能指出我正确的方向?谢谢.

sql oracle pivot aggregate-functions

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

Java Random类,使用相同的种子和nextBytes()生成重复的数字?

假设我通过使用新的Random()实例化静态最终Random对象来使用相同的种子,是否可以通过在同一实例中调用nextBytes来获得相同的数字两次?

我知道对于任何给定的种子,可以确定所有可能的"随机"数字,它实际上更像是一个序列:

  synchronized protected int next(int bits) {
     seed = (seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1);
     return (int)(seed >>> (48 - bits));
}
Run Code Online (Sandbox Code Playgroud)

所以基本上如果我有这个代码:

private static final Random random = new Random();

 public void doSomething() {
   for (int i=0; i < 1000000000; i++) {
      byte byteArray[] = new byte[8];
      random.nextBytes(byteArray)
   }
 }
Run Code Online (Sandbox Code Playgroud)

nextBytes在通过它可以生成的所有可能数字之前产生相同字节的可能性有多大?

在返回给定位的所有可能组合之前,它会返回相同的值吗?我猜是的,但这种情况多久发生一次?

java random duplicates random-seed

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

iPhone - 在不导入头文件的情况下符合协议?

最近我下载了开源项目zbar,项目本身与我的问题无关,我仍然无法弄清楚是什么在他的viewcontroller中他能够做到这一点:

//
//  EmbedReaderViewController.h
//  EmbedReader
//
//  Created by spadix on 5/2/11.
//

#import <UIKit/UIKit.h>

@interface EmbedReaderViewController
    : UIViewController
    < ZBarReaderViewDelegate >
{
    ZBarReaderView *readerView;
    UITextView *resultText;
    ZBarCameraSimulator *cameraSim;
}

@property (nonatomic, retain) IBOutlet ZBarReaderView *readerView;
@property (nonatomic, retain) IBOutlet UITextView *resultText;

@end
Run Code Online (Sandbox Code Playgroud)

就是这样,就是整个文件,他怎么能看到委托和ZBarReaderView和ZBarCameraSimulator,而不导入任何东西???

我的实现工作正常,但我当然要导入文件,正如我在看这个例子时,它确实引起了我的注意,他没有导入任何东西......这怎么可能?

iphone import objective-c

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