我画了一条曲线.我想从视图一直到线条放置一个渐变(以便渐变曲线与线条一起).
编辑:这是下面代码产生的照片:
我知道如何画线,我知道如何添加常规渐变,但不是两个在一起.这是我的代码:
override func drawRect(rect: CGRect) {
// draw the curved line, this code works just fine.
let path1 = UIBezierPath()
path1.lineWidth = 1.1
UIColor.greenColor().setStroke()
path1.moveToPoint(CGPoint(x: 0, y: bounds.height/2))
path1.addQuadCurveToPoint(CGPoint(x: bounds.width, y: bounds.height/2), controlPoint: CGPoint(x: bounds.width/2, y: (bounds.height * 0.75)))
path1.stroke()
// my attempt to draw the gradient:
let gradient = CAGradientLayer()
gradient.startPoint = CGPoint(x: 1, y: 1)
gradient.endPoint = CGPoint(x: 0, y: 0)
let colors = [UIColor.whiteColor().CGColor, UIColor(red: 0, green: 1, blue: 1, alpha: 0.4).CGColor]
gradient.colors = colors …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用AVPlayer从远程URL播放视频.这是一个非常简单的设置:加载视图控制器,并在viewDidLoad中,使用url设置AVPlayer并播放它.这是我的代码,在viewDidLoad中:
NSString *urlString = @"http://download.wavetlan.com/SVV/Media/HTTP/MOV/ConvertedFiles/MediaConvert/MediaConvert_test4_1m10s_MPEG4SP_VBR_383kbps_320x240_30fps_AACLC_VBR_60kbps_Stereo_44100Hz.mov";
NSURL *url = [NSURL fileURLWithPath:urlString];
self.item = [AVPlayerItem playerItemWithURL:url];
self.player = [[AVPlayer alloc] initWithPlayerItem:self.item];
AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoFinished:) name:AVPlayerItemDidPlayToEndTimeNotification object:self.item];
playerLayer.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
playerLayer.backgroundColor = [UIColor greenColor].CGColor;
[self.view.layer addSublayer:playerLayer];
playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;
[self.player play];
self.player.actionAtItemEnd = AVPlayerActionAtItemEndNone;
Run Code Online (Sandbox Code Playgroud)
但是当视图加载时,没有任何反应.屏幕只是绿色(因为我将playerLayer设置为绿色),所以我知道它就在那里.它只是不玩.您也可以测试该urlString,它是一个有效的URL.文件大小为3.8 MB.我从这里得到了一些测试网址的网址:http://download.wavetlan.com/SVV/Media/HTTP/http-mov.htm
所以,我已经初始化了播放器,播放器层,项目,并且URL是正确的.但屏幕上没有任何内容.我在调试器中注意到的一件事是NSURL和url的实际字符串在结尾处是不同的.也许这可能会有所帮助,但我不知道如何改变它.这是一张照片:
另外,我在iOS 8.4设备上测试它,所以我知道阻止HTTP地址的app传输安全性不是.
我在这里可能做错了什么?任何帮助表示赞赏.谢谢.
我正在设置一个非常基本的反应应用程序,并尝试调用我的本地主机服务器(单独的后端服务器),其上有JSON数据.我想提取从promise返回的数据,但我做的任何事情似乎都没有用.这是我的代码:
fetch('http://localhost:8080/posts')
.then(function(response) {
const items = response.json()
console.log(items)
})
Run Code Online (Sandbox Code Playgroud)
我尝试过response.json(),response.body,我尝试用.then(functio(body){console.log(body)}),response.data,response.body记录身体,但没有任何效果.以下是控制台打印出来的内容:
我如何获取它给我的输出,并将其放入我可以迭代的数组中?"内容"和"id"是我需要访问的内容.
和FYI,阵列,当我去localhost:8080 /我的浏览器的帖子很简单:
[{"id":1,"content":"hello, this is post 1"}]
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏,谢谢!
我的文件夹结构如下:
在我的 App.Js(位于组件文件夹下)中,我有:
import variables from '/src/EnvVariables/variables.json';
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误:
You attempted to import /src/EnvVariables/variables.json which falls
outside of the project src/ directory. Relative imports outside of
src/ are not supported. You can either move it inside src/, or
add a symlink to it from project's node_modules/.
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
import variables from './src/EnvVariables/variables.json';
import variables from '/src/EnvVariables/variables.json';
import variables from '/src/EnvVariables/variables.json';
import variables from '/EnvVariables/variables.json';
import variables from './EnvVariables/variables.json';
Run Code Online (Sandbox Code Playgroud)
所有这些要么给出上述错误,要么说“无法解析文件”。
正如他们所说,该文件位于 /src 下的文件夹中。但它仍然告诉我它必须在 /src/ 目录下。如何导入我的variables.json 文件?我不想只是将它放在“组件”下,我更喜欢更好地组织它。
我有一个选项卡栏,我想根据用户的设置更改其项目。因此,我需要能够以编程方式从选项卡栏中添加/删除项目。这是我的代码:
class TabBarViewController: UITabBarController {
var controllerArray = [UIViewController]()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.tabBar.tintColor = UIColor.greenColor()
let storyBoard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle())
let controller1 = storyBoard.instantiateViewControllerWithIdentifier("Navigation2") as! nav2
let controller2 = storyBoard.instantiateViewControllerWithIdentifier("Explore") as! ExploreNavigation
let controller3 = storyBoard.instantiateViewControllerWithIdentifier("friends") as! ExploreNav
let controller4 = storyBoard.instantiateViewControllerWithIdentifier("controller3ID") as! controller3VC
controllerArray.append(controller1)
controllerArray.append(controller2)
controllerArray.append(controller3)
controllerArray.append(controller4)
self.tabBarController?.setViewControllers(controllerArray, animated: true)
}
}
Run Code Online (Sandbox Code Playgroud)
但如果我注释掉其中一行,例如这样:
//controllerArray.append(controller2)
Run Code Online (Sandbox Code Playgroud)
因此该控制器不属于controllersArray,该控制器仍显示在选项卡栏中。我究竟做错了什么?
我也尝试过这个,但它也不起作用:
self.tabBarController?.viewControllers = controllerArray
Run Code Online (Sandbox Code Playgroud) 我试图在我的uiscrollview中设置内容偏移量.我尝试了以下,但没有一个有效.以下任何一个都不会以任何方式影响我的scrollView,它在屏幕上显示为正常:
let point = CGPoint(x: 0, y: self.view.frame.height / 2)
self.scrollView.setContentOffset(point, animated: true)
Run Code Online (Sandbox Code Playgroud)
和:
self.scrollView.contentOffset.y = self.view.frame.size.height / 2
Run Code Online (Sandbox Code Playgroud)
和:
self.scrollView.contentOffset = CGPointMake(0, self.view.frame.size.height / 2)
Run Code Online (Sandbox Code Playgroud)
和:
self.scrollView.contentOffset = CGPointMake(0, scrollView.frame.size.height / 2)
Run Code Online (Sandbox Code Playgroud)
我的滚动视图是我视图高度的2倍.它们基本上分为两个不同的视图,我可以在它们之间进行分页.我希望scrollview从底部开始.
这很复杂,但我会尽量简洁。我正在使用 FCM 向 Android 设备发送推送通知。我的后端是解析服务器。我可以成功地将推送从 FCM 控制台发送到设备。当我从 parse 发送推送到https://mybackend/parse/push 时,它会显示 {"result": "true" } 作为响应。我检查了服务器日志,它(可以预见)显示所有对 /parse/push 的 http post 请求均成功 200。
但是,当从解析发送时(使用curl或解析推送控制台),推送不会显示在FCM控制台中。那么解析服务器和 FCM 之间存在一些问题。
在我的 index.js 中,我有:
push: {
android: {
senderId: "XXXXX",
apiKey: "YYYYYY"
}
}
Run Code Online (Sandbox Code Playgroud)
我有钥匙,并按照此处完成了所有操作:http://parseplatform.org/docs/parse-server/guide/#push-notifications
我还缺少什么?为什么我无法让它实际出现在设备上?非常感谢任何帮助,谢谢。
我试图在react native中将样式添加到自定义组件中,但是无论我做什么,样式都无效。这是我的代码:
// App.js
import MyCustomComponent from './components/myCustomComponent.js';
render() {
return (
<View style={styles.container}>
<MyCustomComponent style={{marginTop: 10}}/>
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
该项目可以正常编译,并且我的自定义组件可以在屏幕上正常显示,但是没有应用marginTop样式。值得注意的是,父View组件的样式确实适用。这是我今天刚刚创建的一个全新项目。这似乎应该是非常基础的,但是却无法正常工作。我该怎么做才能应用这种样式?
自定义组件代码:
import React, {Component} from 'react';
import {TextInput, StyleSheet, Image, View, Button} from 'react-native';
type Props = {};
export default class MyCustomComponent extends Component<Props> {
render() {
return (
<View style={styles.container}>
<Image
source={{ uri: "source here" }}
style={{ width: 50, height: 50 }}
/>
<TextInput
style={{ height: 50 }}
placeholder="Search"
/>
</View>
)
}
}
Run Code Online (Sandbox Code Playgroud) ios ×4
swift ×3
reactjs ×2
android ×1
avfoundation ×1
avplayer ×1
iphone ×1
javascript ×1
json ×1
parse-server ×1
react-native ×1
uibezierpath ×1
uiscrollview ×1