小编Com*_*sky的帖子

设备旋转时iOS更改自动布局约束

我想在设备旋转时修改布局约束.我UIViewController的由2个组成UIViews,在横向上它们是水平对齐的,在纵向上它们是垂直对齐的.

它实际上工作,在willAnimateRotationToInterfaceOrientation,我删除所需的约束,并将其替换为其他人,以获得正确的布局...

但是有一些问题,在旋转期间自动布局在willAnimateRotationToInterfaceOrientation调用之前开始打破约束,那么当设备重新定向发生时,我们在哪里更换我们的约束?

另一个问题是性能,在几次旋转之后系统不再破坏约束,但是我的性能下降很大,特别是在纵向模式下......

objective-c ios autolayout nslayoutconstraint

45
推荐指数
2
解决办法
4万
查看次数

测试多人游戏中心游戏

我读过不同/冲突的答案,我需要一些明确的答案.

我目前正在开发一款基于回合制的多人游戏Game Center.我一直在关注一个教程 @ rayWenderlich.com,我已经让模拟器中的播放器进行了身份验证,并且匹配使viewController弹出,但这就是我所拥有的.

所以第一个问题是,

  1. 我的代码(通过模拟器)和我的iPhone可以连接/匹配/找到对方吗?
    • 我已经读到这是不可能的,但我确定我看到一个Youtube视频中的一个人让他们两个都在沟通
  2. 您可以使用模拟器和1个设备测试基于回合制的游戏中心功能的哪些方面?

更新:

我没有想象的东西,经过一番搜索,我发现了Youtube视频.

也许它是不同的东西,但似乎可以从模拟器匹配/播放到一个iOSDevice又一个.与人们所说的你在这里做不到的相比,这是怎样的?

iphone ios game-center ios-simulator

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

奇怪的是three20的TTTableViewController框架属性

我正在添加一个TTTableViewController现有的UIViewController,我发现的一个奇怪的事情是frame初始化的TTTableViewController 的属性是有线的,例如在iOS布局中.

我有:

  1. UIStatusBar
  2. UINavigationController
  3. UIViewController
  4. UITabBar

为了设置TTTableViewController所有剩余空间的填充,我需要将高度设置为460而不是367.(367 = 480-20-44-49)

例如

self.tableViewController.view.frame = CGRectMake(0, 0, 320, 460.0f);
Run Code Online (Sandbox Code Playgroud)

代替

self.tableViewController.view.frame = CGRectMake(0, 0, 320, 367.0f);
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

*编辑澄清:我的意思是TTViewController顶部的TTTableViewController(使用[self.view addSubview:self.tableViewController.view];),我需要设置self.tableViewController.view.frame = CGRectMake(0,0, 320,460.0f); 而不是367

iphone xcode objective-c three20 ios

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

iOS 6视图层次结构的噩梦

我在应用程序商店中有一个应用程序有近5星评级,但当iOS 6出来时,应用程序主视图层次结构中的一些视图开始闪烁.这发生在商店中的应用程序(我在iOS6出来时将其删除)以及模拟器中.

我花了大约14个小时,尝试了100件事,在Xcode中进行调试,但无法获得任何牵引力.子视图消失并重新出现,就像有一个gremlin随机设置可见属性,每秒最多10次,在一切正常的较长时段之间.

主界面是用户可以旋转的表盘,我在图层上使用3d变换来旋转它.我发现的唯一模式是,当表盘旋转到某些离散位置时,4个消失的子视图中的3个消失在一起,好像被锁定为一个.

第四个消失的子视图应该是一个静态图像,它会闪烁,没有可辨别的模式.

我喜欢任何有关如何调试此问题的想法和提示.它不是内存警告,执行额外的[setNeedsToDisplay]似乎没有效果.我开始认为Apple在iOS6中破坏了一些东西,但我找不到其他人在谈论这些问题.


以下是主视图的子视图和CALayers层次结构的细分:

  1. 我的层次结构包含2个基本CALayer,很好.
  2. 上面是一个非常大的自定义UIView(使用drawRect)和一个大的UIImageVIew,它们一起闪烁,当底部旋转到某些位置时.只有底部旋转.
  3. 上面是一个不闪烁的自定义文本绘图UIView.
  4. 上面是一个小的红色图钉UIImageView,它与上面的2个视图完全同时闪烁.这是一个香草UIImageView; 没有变换或子类或自定义绘图代码!然而它仍然有同样的眨眼.
  5. 在上面是一个看似无效的UIButton.
  6. 上面是一个UIImageView,它是一个小图形,不断闪烁,与其他3个"链接"层的基于旋转的闪烁无关(我说链接因为它们喜欢一起消失).

iphone calayer uiview drawrect ios6

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

使用 pytest 参数化类测试

我有一组对象,我需要为我的测试类中的每个测试运行这些对象。我想参数化 TestClass 中的每个测试函数。最终目标是有类似的东西:

@pytest.mark.parametrize('test_input', [1, 2, 3, 4])
class TestClass:
    def test_something1(self, test_input):
        # test code here, runs each time for the parametrize
Run Code Online (Sandbox Code Playgroud)

但是根据我的理解,您不能传递输入参数,或者至少不能调用@pytest.mark.parametrize一个类,这些标记用于defsnot classs

我现在所拥有的:

class TestClass:
    def test_something1(self):
        for i in stuff:
            # test code here

    def test_something2(self):
        for i in stuff:
            # test code here
    ...
Run Code Online (Sandbox Code Playgroud)

有没有办法传递参数化类本身或 TestClass 中的每个函数?也许一个@pytest.mark.parametrize里面@pytest.fixture...(autouse=True).

我想将我的测试组织成一个类,因为它反映了我正在测试的文件。因为我在至少十几个不同的测试中循环这些对象,所以调用类的循环比在每个def.

python pytest python-3.x

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

需要一个使用字典的随机字生成器

我正在制作一个刽子手游戏,所以我需要一个随机的单词生成器.我的目标是让用户在单词中说出他们想要多少个字母,并输出带有那么多字母的随机单词.我想使用应该在iOS 5中提供的字典.从这个链接中学习

我怎样才能做到这一点?有没有人对随机字生成器有一些建议 - 最好使用字典.

我不想只是一个随机的文本生成器,我希望它们是真正的英语单词.

xcode objective-c ios ios5

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

如何旋转UIViews?

Twitter应用程序是iPhone上的标签栏应用程序.任何选项卡中的任何内容都不会旋转,但是,当您单击推文中的链接时,允许旋转顶部的视图控制器.我曾经唯一的旋转是倾斜设备,风景或肖像,但我不明白如何使用2D变换和动画来旋转视图.

如何使用UIView的子类旋转任何视图?

iphone xcode cocoa-touch core-animation ios

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

Xcode iOS按下按钮然后向上拖动第二个按钮

假设我不想将1添加到整数.这只会在我按下a UIButton然后将手指放在另一个上时完成UIButton.拖动组合.什么是最简单的方法,我可以IBAction用组合发生?这可以通过触摸坐标完成,也可以只是UIButtonsIBActions.

如何创建一个2按钮组合 IBActions

touch uibutton drag ipad ios

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

不能使用get参数

  1. 我的.htaccess: Rewriterule ^(.*?)-(?:.*).html$ ver.php?id=$1 [L]
  2. 我的网址是这样的:http://www.site.com/listado/s.html
  3. 我不能GET用来解析页面:`ie:http://www.site.com/listado/s.html? page = 2

我究竟做错了什么?
我怎样才能解决这个问题?

php rewrite get

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

在 py.test 会话开始之前运行一个文件,没有 __init__

除了 .py 之外,还有没有办法在一开始就运行 .py __init__.py

我的问题是我需要在文件解析改变之前保存当前的数据库状态。因为我有临时测试变量会改变,但是如果我可以在解析之前存储状态,这将是固定的,因为我可以在会话结束时恢复它。

我不仅需要在实际测试会话开始之前运行 .py,还需要在解析其他文件之前运行 .py。

例子:

console> py.test tests/test_example.py
- 需要它在这里
collecting 0 items
tests/test_example.py
==== test session starts ====
conftest.py运行运行这里

您可以说 an__init__.py将是一个解决方案,但是当__init__.pytesting 目录中有 an时,pytest 会将所有内容作为模块运行。(而不是从运行py._path.pyimport,它从运行__init__.py)这打破了我在整个测试/目录中的所有测试和导入

所以也许我可以自己打包py._path.pyimport,这似乎不是最安全/正确的方法。或者是否可以调用 an__init__.py并且仍然从py._path.pyimport之后运行?

python pytest python-3.x

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