我目前正在更新要使用的项目image literals,以享受非可选图像的好处.该项目正在导入各种框架,框架包含图像.
在框架中,我们必须声明一个扩展UIImage来覆盖初始化,因为它正在寻找错误包中的图像.我们做了类似的事情:
extension UIImage {
convenience init?(framework_named imageName: String) {
let bundle = Bundle(for: ClassNameInFramework.self)
self.init(named: imageName, in: bundle, compatibleWith: nil)
}
}
Run Code Online (Sandbox Code Playgroud)
我也想在框架中使用图像文字,但像以前一样,文字正在为图像寻找错误的包并且应用程序崩溃.
有谁知道,如何指定要查找图像的包的图像文字?
在iOS 11 UIDocumentMenuViewController中标记为已弃用.
建议使用UIDocumentPickerViewController以前存在的并且只有一部分UIDocumentMenuViewController功能(在以前的版本中它被调用UIDocumentMenuViewController).
我无法看到它添加了一些新东西,以便它可以增加删除UIDocumentMenuViewController.
不知怎的,我怀疑iOS 11在没有提供一些新方法的情况下删除了这么重要的功能,但我现在看不到它,所以有人知道这件事吗?
我正在通过Web-Socket从服务器流式传输音频数据
ws.on('message', function incoming(message) {
var readStream = fs.createReadStream("angular/data/google.mp3",
{
'flags': 'r',
'highWaterMark': 128 * 1024
}
);
readStream.on('data', function(data) {
ws.send(data);
});
readStream.on('end', function() {
ws.send('end');
});
readStream.on('error', function(err) {
console.log(err)
});
});
Run Code Online (Sandbox Code Playgroud)
在客户端
var chunks = [];
var context = new AudioContext();
var soundSource;
var ws = new WebSocket(url);
ws.binaryType = "arraybuffer";
ws.onmessage = function(message) {
if (message.data instanceof ArrayBuffer) {
chunks.push(message.data)
} else {
createSoundSource(chunks);
}
};
function createSoundSource(audioData) {
soundSource = context.createBufferSource();
for (var i=0; i …Run Code Online (Sandbox Code Playgroud) 我写下面的代码:
JSImgDeleteCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:displayCellID forIndexPath:indexPath];
Run Code Online (Sandbox Code Playgroud)
在使用它之前,我注册了它:
[_displayImgCollectionView registerNib:[UINib nibWithNibName:displayCellID bundle:nil] forCellWithReuseIdentifier:displayCellID];
Run Code Online (Sandbox Code Playgroud)
它在xcode7.3中没问题,但是当我在xcode8.1中运行时,有错误,这样的msg:
提供给CFRunLoopRunSpecific的无效模式'kCFRunLoopCommonModes' - 在_CFRunLoopError_RunCalledWithInvalidMode上中断以进行调试.此消息仅在每次执行时出现一次.
libsystem_c.dylib`__abort:
0x18ce163ec <+0>: adrp x8, 150192
0x18ce163f0 <+4>: add x8, x8, #0 ; =0
0x18ce163f4 <+8>: ldr x9, [x8, #8]
0x18ce163f8 <+12>: cbnz x9, 0x18ce16408 ; <+28>
0x18ce163fc <+16>: adrp x9, 27
0x18ce16400 <+20>: add x9, x9, #1393 ; =1393
0x18ce16404 <+24>: str x9, [x8, #8]
0x18ce16408 <+28>: stp x20, x19, [sp, #-32]!
0x18ce1640c <+32>: stp x29, x30, [sp, #16]
0x18ce16410 <+36>: add …Run Code Online (Sandbox Code Playgroud) 我刚接触使用react并遇到了问题:
未捕获的TypeError:无法读取null的属性"setState".
基本上我要做的是,用户可以点击三个不同的标题,点击后,它将呈现特定于该标题的特定模板.这是我正在使用的代码,它给了我这个错误:
class Selection extends React.Component {
constructor(props) {
super(props);
this.state = {selections: [], donateActive: true, fundraiseActive: false, speakActive: false };
}
componentDidMount() {
this.setState({
selections: selectionData.selections
})
}
componentWillUnMount(){
console.log("unmounted!");
}
donateOnClick() {
this.setState({ donateActive: true, fundraiseActive: false, speakActive: false});
}
fundraiseOnClick() {
this.setState({ fundraiseActive: true, donateActive: false, speakActive: false});
}
speakOnClick() {
this.setState({ speakActive: true, fundraiseActive: false, donateActive: false});
}
donateTemplate() {
return (
<div>
<h1>donate template</h1>
</div>
)
}
fundraiseTemplate() {
return (
<div>
<h1>fundraise template</h1> …Run Code Online (Sandbox Code Playgroud) 我想创建一个非常普通的效果,如下图所示:
说明:我要实现的效果包括一个视图,该视图在用户单击按钮时出现在屏幕底部(滑入):您仍然可以看到该视图后面的屏幕,但是它应用了“深色层” (例如黑度为60%的不透明度)的顶部。当用户单击“阻止”或“报告弃权”时(如本例所示),它将执行相应的操作。现在,当用户单击“取消”时,以及当他单击“深色层”上的任意位置时,都将使他回到屏幕上。
我想做的是:使用覆盖层展示一个新的视图控制器(但是它将使用比必要的更多的数据),但是我什至没有达到我们通常在应用程序上看到的那种效果。我不确定,但我想说要获得这种效果的最好方法是使用视图?
请问有人有主意吗?
谢谢,祝你有美好的一天,
Ĵ
我正在开发的游戏Swift 3有SpriteKit.
我在下面的条件中遇到了一些问题.
if (personaje.position - lastTouchLocation).length() < pjPixelsPerSecond * CGFloat(dt){
velocity = CGPoint.zero
} else {
moveSprite(sprite: personaje, velocity: velocity)
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
二进制运算符' - '不能应用于两个'CGPoint'操作数.
我怎样才能减去这两个变量?
我得到了:
var personaje = SKSpriteNode(imageNamed: "personajee")
var velocity = CGPoint.zero
var lastTouchLocation = CGPoint.zero
…
func sceneTouched (touchLocation: CGPoint) {
lastTouchLocation = touchLocation
movePjToLocation(location: touchLocation)
}
Run Code Online (Sandbox Code Playgroud) 我正在使用socket.io和node.js.
我需要使用一种套接字方法发送用户名参数。我在不发送参数的情况下尝试如下。这很好用,但我需要添加用户名参数来获取特定数据而不是总数据。对不起,这个愚蠢的问题是套接字概念的新手。
socket.on("updatechat") { dataArray, ack in
print(dataArray)
}
Run Code Online (Sandbox Code Playgroud)