我需要创建三个动态列,每个列具有固定的总宽度百分比.不是三分之一,而是不同的价值观.例如,下图显示了三列:第一列为42%宽,第二列为25%宽,第三列为33%宽.
对于视图控制器上的600像素,分别为252,150和198像素.
但是,对于任何后续显示尺寸(即iPhone 4横向(960宽)或iPad 2纵向(768宽),我希望相对百分比相同(不是上面引用的像素宽度).
有没有办法使用Storyboard(即没有代码)?我可以在代码中轻松完成这项工作,但我的目标是尽可能多地将这种显示逻辑放入Storyboard中.

我正在测试php exec命令:
我得到的结果代码是127.
我的PHP代码是:
<?
print "<br>executing 'hello':<br><b>";
exec ("hello", $output, $result);
var_dump($output);
print "<br>$result";
print "<br></b>end hello.";
print "<br><hr><br>";
print "<br>executing 'dir':<br><b>";
exec("dir", $output2, $result2);
var_dump($output2);
print "<br>$result2";
print "<br></b>end dir.";
?>
Run Code Online (Sandbox Code Playgroud)
输出是:
executing 'hello':
array(0) { }
127
end hello.
executing 'dir':
array(2) { [0]=> string(42) "bs1.jpg hello index.htm ml1_1.jpg pp1.jpg" }
0
end dir.
Run Code Online (Sandbox Code Playgroud)
php文档(据我所知)说:
return_var
如果return_var参数与输出参数一起出现,则执行命令的返回状态将写入此变量.
...但没有输出可能性列表或查找它们的方法.
有什么建议?
我在ViewController中有一系列图像.
我通过改变他们各自的层来"漂浮"它们:
img.layer.transform = CATransform3DMakeTranslation(0.0f, 0.0f, myZ);
Run Code Online (Sandbox Code Playgroud)
这样可以使图层浮动在屏幕上方 - 在模拟器中,没有可见效果(这是正确的).
我想要做的是具有这样的效果:向左/向右/向前/向后移动设备会使其看起来像层浮动一样微妙.将设备向左倾斜时,应将整个视图向右倾斜.这会让你感觉移动设备可以让你看到周围的角落 - 也就是说它会让人感觉图像真的漂浮在屏幕上方,因为它们会以不同的速度移动(基于它们的z指数).
我已经制作了一个测试项目(这里是项目文件),它有一个示例项目来演示这个.
我的问题是我不是一个数学家,所以我正在努力用最好的方法来模拟微妙的浮动效果.现在,我有一个DeviceMotion的监听器,然后执行:
self.view.layer.sublayerTransform = CATransform3DMakeRotation(20.0f * M_PI / 180.0f, 2*motion.attitude.pitch, -2*motion.attitude.roll, 0);
Run Code Online (Sandbox Code Playgroud)
这非常接近我想要的,但它并不完全正确.
我认为这种效果可以在许多不同的应用中使用.我希望将此扩展到朋友和我正在进行的人脸检测(因此它会根据人脸的移动移动父视图 - 即使他们保持手机/设备完全静止).
我意识到我会让人们回答"只是使用OpenGL".这不是我需要的答案 - 除非你发布一大堆代码,展示如何在这个项目中集成它.(我不是在寻找新问题来解决.:-)
同样,完整的项目在这里(iphone浮动视图)适合任何想要看到效果的人.(当这个工作时,我会将完整的(工作)项目留在这里,以供后人使用.)
我正在努力在3D空间中定位iPhone设备.
我可以使用lat/long来检测物理位置,我可以使用磁力计来确定它们所面对的方向,我或许可以使用加速度计来确定它们的设备是如何定向的,但我无法想象找出一种让设备离开地面高度的方法.
具体来说,我需要知道用户是蹲下,还是将手伸向天花板(不同的约2米/ 6英尺).
我在博客上发布了更详细的描述:http://pushplay.net/blog_detail.php?id = 36
我会喜欢任何关于如何伪造这种信息的建议.我真的想要那种需要躲避和晃动的交互性和动作,而不是让某人坐下来和手机角度 - 这种方式可以让人们"欺骗"玩Wii游戏......
如果我有一个视图,其中performSelector设置为在延迟后触发:
[self performSelector:@selector(generateBall) withObject:NULL afterDelay:1.5];
Run Code Online (Sandbox Code Playgroud)
...但是我在选择器触发之前删除了查看该视图(例如,由于用户交互),然后我的应用程序崩溃了.
有没有办法在该视图的dealloc方法中终止延迟选择器?
编辑:
我试过了两个:
[[NSRunLoop mainRunLoop] cancelPerformSelector:theBall target:self argument:nil];
Run Code Online (Sandbox Code Playgroud)
和
[[NSRunLoop currentRunLoop] cancelPerformSelector:theBall target:self argument:nil];
Run Code Online (Sandbox Code Playgroud)
虽然两者都工作(允许我加载一个新的视图),加载上一个视图最终给我一个灰色的屏幕.
除了列出的那些Apple文档之外,我还没有找到任何有关cancelPerformSelector的教程或其他信息,并且关于线程和运行循环的文档似乎非常复杂(主要是因为它们没有列出工作代码示例,会让我更容易介入并理解发生的事情).
我有一系列UIImages,我需要用它来模拟深度.我无法使用缩放,因为我需要能够旋转父视图,并且图像应该看起来像是在彼此前面明显堆叠,而不是在同一平面上.
我创建了一个新的基于ViewController的项目并将其放在viewDidLoad中(以及附加的三个120x120像素图像,名为1.png,2.png和3.png):
- (void)viewDidLoad {
// display image 3
UIImageView *three = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"3.png"]];
three.center = CGPointMake(160 + 60, 240 - 60);
[self.view addSubview:three];
// rotate image 3 around the z axis
// THIS IS INCORRECT
CATransform3D theTransform = three.layer.transform;
theTransform.m34 = 1.0 / -1000;
three.layer.transform = theTransform;
// display image 2
UIImageView *two = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"2.png"]];
two.center = CGPointMake(160, 240);
[self.view addSubview:two];
// display image 1
UIImageView *one = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"1.png"]];
one.center = …Run Code Online (Sandbox Code Playgroud) 我似乎无法在网上找到任何关于此的文档,我在谷歌搜索的内容给了我很多相互矛盾的信息......
是否可以创建一个segue(或某种过渡动画)来点击 UICollectionView 单元格以使其展开为全屏?
即使只扩展单元格内的 UIImageView 然后用 segue 交换它对我来说也有用......

我的动态大小的Storyboard中有以下布局:

但是,在运行应用程序时(取决于方向),单元格如下所示:

这是可以预期的,因为先前的单元格具有静态高度和宽度.
但是,我希望单元格根据设备宽度动态调整大小(为此目的,高度可以保持静态).CollectionView本身正确调整大小,因为它固定在其超级视图上,因此如何使用自动布局约束(相对于UICollectionView指定的静态单元格大小)覆盖单元格.
有没有办法将命令行参数传递给Windows中的Flash投影仪?我有另一个应用程序(在这种情况下,安装程序)需要与Flash投影仪通信(闪存工作方式相同).我无法在网上找到任何信息(一切似乎都集中在使用FSCommand参数来执行未来的投影仪,这对我调用原始投影仪没有帮助)...