在IOS8 Safari中,有一个新的位置修复错误.
如果您聚焦固定面板中的文本区域,Safari会将您滚动到页面底部.
这使得所有类型的UI都无法使用,因为您无法将文本输入textareas而无需将页面一直向下滚动并丢失位置.
有没有办法干净地解决这个bug?
#a {
height: 10000px;
background: linear-gradient(red, blue);
}
#b {
position: fixed;
bottom: 20px;
left: 10%;
width: 100%;
height: 300px;
}
textarea {
width: 80%;
height: 300px;
}
Run Code Online (Sandbox Code Playgroud)
<html>
<body>
<div id="a"></div>
<div id="b"><textarea></textarea></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我有一个使用SceneKit for iOS 8的Swift应用程序.我从包含由骨架控制的网格的.dae文件加载场景.在运行时,我需要修改纹理坐标.使用变换不是一个选项 - 我需要为网格中的每个顶点计算一个不同的,全新的UV.
我知道几何在SceneKit中是不可变的,我读过建议的方法是手动制作副本.我正在尝试这样做,但在尝试重新创建SCNSkinner代码时,我总是崩溃.崩溃是一个EXC_BAD_ACCESS内部C3DSourceAccessorGetMutableValuePtrAtIndex.不幸的是,没有源代码,所以我不确定为什么它崩溃了.我把它缩小到SCNSkinner连接到网格节点的对象.如果我没有设置,我不会发生崩溃,事情似乎正在发挥作用.
编辑:这是一个更完整的崩溃调用堆栈:
C3DSourceAccessorGetMutableValuePtrAtIndex
C3DSkinPrepareMeshForGPUIfNeeded
C3DSkinnerMakeCurrentMesh
C3DSkinnerUpdateCurrentMesh
__CFSetApplyFunction_block_invoke
CFBasicHashApply
CFSetApplyFunction
C3DAppleEngineRenderScene
...
Run Code Online (Sandbox Code Playgroud)
我没有找到任何关于如何SCNSkinner手动创建对象的文档或示例代码.因为我只是基于以前工作的网格创建它,所以它应该不会太难.我正在创建SCNSkinner根据Swift文档,将所有正确的东西传递给init.但是,有一个骨架属性SCNSkinner,我不知道如何设置.我将它设置为SCNSkinner我正在复制的网格原始的骨架,我认为应该可以工作......但事实并非如此.设置骨架属性时,它似乎没有分配.在分配后立即检查它表明它仍然是零.作为测试,我尝试将原始网格的骨架属性设置为其他内容,并且在分配之后它也保持不变.
任何人都可以了解正在发生的事情吗?或者如何SCNSkinner手动正确创建和设置对象?
这是我用来手动克隆网格并用新网格替换它的代码(我没有在这里修改任何源数据 - 我只是想确保我可以在这一点上创建一个副本) :
// This is at the start of the app, just so you can see how the scene is set up.
// I add the .dae contents into its own node in the scene. This seems to be the …Run Code Online (Sandbox Code Playgroud) - (void)viewDidLoad
{
NSLog(@"%s", __func__);
// ...
}
Run Code Online (Sandbox Code Playgroud)
在viewDidLoadiOS 8 扩展中.在 NSLog输出没有在Xcode.NSLog虽然在容器应用程序中照常工作.
如何从扩展中获取调试消息的输出?
在Swift中,我正在尝试创建一个包含64个SKSpriteNode的数组.我想先初始化它空,然后我会把精灵在第16个单元,最后16个单元(模拟的棋局).
根据我在文档中的理解,我会期待如下:
var sprites = SKSpriteNode()[64];
要么
var sprites4 : SKSpriteNode[64];
但它不起作用.在第二种情况下,我得到一个错误说:"还不支持固定长度数组".这可能是真的吗?对我来说,这听起来像一个基本功能.我需要通过索引直接访问元素.
在iOS 7中,可以在以下位置找到iOS模拟器的文档目录:
/Users/Sabo/Library/Application Support/iPhone Simulator/
Run Code Online (Sandbox Code Playgroud)
但是,在iOS 8 Beta Simulator中,我在上面的目录中找不到iOS 8的相应目录.
iOS 8模拟器的文档目录路径在哪里?

我有这样的字符串
var str = "@text1 this is good @text1"
Run Code Online (Sandbox Code Playgroud)
现在换成text1另一个字符串,比方说t 1.我能够替换文本,但我无法加粗.我想加粗新字符串t 1,以便最终输出为:
@t 1这是好的@t 1
我该怎么做?
我看到的所有示例都在Objective-C中,但我想在Swift中进行.
提前致谢.
我想UIButton在点击后禁用iOS上的按钮().我是iOS的新手,但我认为目标上的等效代码 - C是这样的:
button.enabled = NO;
Run Code Online (Sandbox Code Playgroud)
但我不能迅速做到这一点.
似乎iOS模拟器的目录已更改.它曾经存在~/Library/Application\ Support/iPhone\ Simulator/,现在它在~/Library/Developer/CoreSimulator/Devices/.
我正在开发一个企业应用程序.当我在iOS8测试版中测试时,我看到了以下警报视图:
Untrusted App Developer
Do you trust the developer "iPhone Distribution: ---" to run apps on you iPad?
Run Code Online (Sandbox Code Playgroud)
它只是第一次出现.我可以以某种方式避免它吗?它与什么有关?

我使用此代码来确定键盘的大小:
- (void)keyboardWillChange:(NSNotification *)notification {
NSDictionary* keyboardInfo = [notification userInfo];
NSValue* keyboardFrameBegin = [keyboardInfo valueForKey:UIKeyboardFrameBeginUserInfoKey];
CGRect keyboardFrameBeginRect = [keyboardFrameBegin CGRectValue];
}
Run Code Online (Sandbox Code Playgroud)
我在模拟器中运行它.
问题是,因为iOS 8这将不会给出正确的值,如果键盘建议已启动或者如果我将它们向下推,则会得到不同的(不正确的)值.
如何获得键盘的确切大小,包括键盘建议?
ios8 ×10
ios ×7
swift ×4
xcode6 ×3
cocoa-touch ×1
css ×1
deployment ×1
enterprise ×1
javascript ×1
keyboard ×1
objective-c ×1
safari ×1
scenekit ×1
uibutton ×1
xcode ×1