我正在用AngularJS构建一个Ionic App.在这个应用程序中,我想要一个数据的折线图.昨天我问了一个关于这个问题的问题(Angular-Chart没有渲染任何内容),这个问题得到了解答,但现在又出现了一个新问题.
有时候图表会立即可见,但是当我在横向/纵向之间旋转屏幕时,它会在每次旋转时变大.有些时候图形根本不可见(图例除外),直到您旋转屏幕一段时间.
当我在iPhone上使用Web检查器检查时,我发现每次高度的HTML属性都会变大.CSS-height样式也是如此.
Web检查器中的HTML最初看起来像这样:(这是图表在非活动选项卡上的时候)
<div ng-show="graph.visible && finishedLoading" class="ng-hide" style="">
<div class="chart-container"><canvas class="chart chart-line" data="graph.data" labels="graph.labels" options="graph.options" series="graph.series" colours="graph.colours" getcolour="graph.getColour" click="graph.click" hover="graph.hover" legend="graph.legend" width="576" height="424" style="width: 288px; height: 212px;">
</canvas><chart-legend><ul class="line-legend"><li><span style="background-color:rgba(70,191,189,1)"></span>Waarde</li><li><span style="background-color:rgba(247,70,74,1)"></span>Bovengrens</li><li><span style="background-color:rgba(253,180,92,1)"></span>Ondergrens</li></ul></chart-legend></div>
</div>
Run Code Online (Sandbox Code Playgroud)
使该选项卡激活后,其HTML如下所示:
<div ng-show="graph.visible && finishedLoading" class="" style="">
<div class="chart-container"><canvas class="chart chart-line" data="graph.data" labels="graph.labels" options="graph.options" series="graph.series" colours="graph.colours" getcolour="graph.getColour" click="graph.click" hover="graph.hover" legend="graph.legend" width="576" height="424" style="width: 288px; height: 212px;">
</canvas><chart-legend><ul class="line-legend"><li><span style="background-color:rgba(70,191,189,1)"></span>Waarde</li><li><span style="background-color:rgba(247,70,74,1)"></span>Bovengrens</li><li><span style="background-color:rgba(253,180,92,1)"></span>Ondergrens</li></ul></chart-legend></div>
</div>
Run Code Online (Sandbox Code Playgroud)
这次图表立即可见,但情况并非总是如此.我认为这与网络检查员有关.如果我没有打开Web检查器,则最初只能看到图例.
旋转到横向并返回到肖像四次后,HTML看起来像这样:
<div ng-show="graph.visible && finishedLoading" class="" style="">
<div class="chart-container"><canvas …Run Code Online (Sandbox Code Playgroud) 我有一个for循环,可使用div-category1,'category2'等ID 创建-elements。循环通过键/值数组,看起来像这样:
"0" : "Java",
"1" : "JavaScript",
"2" : "HTML"
Run Code Online (Sandbox Code Playgroud)
因此,div的ID为“类别” +键。
在将元素添加到innerHTMLcontainer-div 的for循环中,我添加了onclick-event。
这是我正在谈论的for循环:
for (var key in categories) {
categoriesBlock.innerHTML += '<div class="category" id="category' + key + '">' + categories[key] + '</div>';
document.getElementById('category' + key).onclick = function() { showPostsForCategory(key, categories[key]); }
}
Run Code Online (Sandbox Code Playgroud)
categories上面的数组在哪里。
问题是,onclick只能用于数组中的LAST元素。如果我使用Safari调试器进行检查并输入“ category3.onclick”,则显示为空。如果我键入“ category4.onclick”(这是最后一个),它将返回正确的函数。
这怎么可能?以及如何解决呢?
我正在使用AngularJS构建应用程序.在这个应用程序中,我想显示一些包含一些数据的折线图.我有一个带有两个"标签"的页面.我使用了我自己的实现:顶部的两个按钮,$scope.graph.visible布尔值,通过单击这些按钮来设置.
这是HTML中的图表:
<canvas
data="{{graph.data}}"
labels="{{graph.labels}}"
options="{{graph.options}}"
legend="{{graph.legend}}"
ng-show="{{graph.visible}}">
</canvas>
Run Code Online (Sandbox Code Playgroud)
在控制器中我得到了这个:
$scope.graph.data = [1, 2, 3, 4, 5, 6, 7, 8];
$scope.graph.labels = ['hoi', 'doei', 'hallo', 'hee', 'hoi', 'doei', 'hallo', 'hee',];
$scope.graph.options = {
animation: false
};
$scope.graph.legend = true;
Run Code Online (Sandbox Code Playgroud)
在页面的源代码中,我看到了这一点(当图表应该可见时):
<canvas data="[1,2,3,4,5,6,7,8]" labels="["hoi","doei","hallo","hee","hoi","doei","hallo","hee"]" options="{"animation":false}" series="" colours="" getcolour="" click="" hover="" legend="true" ng-show="true" class="ng-hide" style="">
</canvas>
Run Code Online (Sandbox Code Playgroud)
编辑//我想知道为什么它有这个课程 ng-hide
EDIT2 //当我手动删除ng-hide类时,我可以看到带有Web检查器的白色块.否则我甚至找不到.
EDIT3 //此外,当我添加class=""HTML文件时,它不会删除ng-hide该类.
EDIT4 // http://plnkr.co/edit/2Wr3HvMzcwfQG2tmsJgX?p=preview
我使用雨燕打造iOS应用程序,并想改变世界appearance的UIBarButtonItem.我这样做了didFinishLaunchingWithOptions.
Apple的文档说明了这一点:
func setTitleTextAttributes(_ attributes: [String : AnyObject]?, forState state: UIControlState)
Run Code Online (Sandbox Code Playgroud)
对UIBarItem.但是当我尝试这样做时,它只是期望self: UIBarItem.有人遇到过这种情况么?这是Xcode中的错误还是我做错了什么?
我建立了一个iOS应用程序,我想提交给Apple,所以我可以让我的同事测试它.我首先清理了工作区(我正在使用CocoaPods),然后将其存档.
然后我进入Archives窗口并单击"Upload to App Store".发生以下错误:"找到一个意外的Mach-O标头代码:0x72613c21",包含以下日志:
IDEDistribution.critical.log:
2016-01-07 9:23:21 AM +0000 [MT] Failed to generate distribution items with error: Error Domain=DVTMachOErrorDomain Code=0 "Found an unexpected Mach-O header code: 0x72613c21" UserInfo={NSLocalizedDescription=Found an unexpected Mach-O header code: 0x72613c21, NSLocalizedRecoverySuggestion=}
2016-01-07 9:23:21 AM +0000 [MT] Presenting: Error Domain=DVTMachOErrorDomain Code=0 "Found an unexpected Mach-O header code: 0x72613c21" UserInfo={NSLocalizedDescription=Found an unexpected Mach-O header code: 0x72613c21, NSLocalizedRecoverySuggestion=}
Run Code Online (Sandbox Code Playgroud)
IDEDistribution.standard.log:
2016-01-07 9:23:21 AM +0000 [MT] Beginning distribution assistant for archive: AppName, task: Upload
2016-01-07 9:23:21 AM +0000 [MT] Automatically …Run Code Online (Sandbox Code Playgroud) 我有一个内置在CocoaTouch Framework中的SDK 。此SDK使用CocoaPods,因为它依赖于其他一些库。我使用以下构建脚本来构建框架:
# 1
# Set bash script to exit immediately if any commands fail.
set -e
# 2
# Setup some constants for use later on.
FRAMEWORK_NAME="MyFrameworkName"
OUTPUT_DIR="${SRCROOT}/framework/build"
# 3
# If remnants from a previous build exist, delete them.
if [ -d "${OUTPUT_DIR}" ]; then
rm -rf "${OUTPUT_DIR}"
fi
# 4
# Build the framework for device and for simulator (using
# all needed architectures).
xcodebuild -workspace "${FRAMEWORK_NAME}.xcworkspace" -scheme "${FRAMEWORK_NAME}" -configuration Release -arch arm64 -arch …Run Code Online (Sandbox Code Playgroud) 我正在 Swift 中构建一个大类,我想将它分布在多个文件中,因为它变得太大而无法有效地工作。它不能被子类化,因为它只是一个具有许多功能的类。(我也许可以稍后优化它并删除双重代码,但我仍然想实现这一点。)
为了更轻松地工作,我想使用扩展将类扩展到多个 Swift 文件中。我已经部分实现了;通过在同一文件中创建扩展来扩展基类。这没有任何问题。
假设基文件是BaseClass.Swift(和类BaseClass),我想将它扩展到BaseClassExtension.swift,我将以下内容放入BaseClassExtension.swift:
extension BaseClass {
func doStuff() -> String {
return myVariable
}
}
Run Code Online (Sandbox Code Playgroud)
在BaseClass.swift 中,我有private var myVariable = "I am a string",但在BaseClassExtension.swift 中出现以下错误:使用未解析的标识符“myVariable”
我尝试了以下几件事:
当我删除privatefrom 时myVariable,错误解决了,但我真的希望它是私有的,因为它可能永远不会直接从类外部访问。
我制作了自己的WYSIWYG文本编辑器.
contenteditable-field是一个div,请参阅下面的代码:
<div spellcheck="false" id="textEditorField" contenteditable="true"></div>
Run Code Online (Sandbox Code Playgroud)
按钮事件如下所示:
boldButton.onclick = function() {
document.execCommand('bold', false, null);
return false;
}
Run Code Online (Sandbox Code Playgroud)
短信的工作正常.它用斜体和非斜体的文字,强调作品.但是大胆地存在一个问题:它使文本变粗,但不会解开它.这适用于OS X和Windows上的每个浏览器.
我正在使用导入的自定义字体@font-face.
在css中我做了以下几点:
b {
font-family: "Caviar Dreams Bold";
font-weight: normal;
}
b i, i b {
font-family: "Caviar Dreams Bold Italic";
font-weight: normal;
}
Run Code Online (Sandbox Code Playgroud)
如果我删除该font-weight属性,文本将获得font-family"Caviar Dreams Bold"并通过CSS使其变为粗体,因此更加大胆.
有一些类似的问题,但没有我可以使用的答案.我还要注意,我不能使用jQuery.
目前,对于我们的 API 请求,我们使用 Rx。我们如何使用它的一个例子是:
let orderRxService = OrderRxService.listAsShop(shopId, status: .active)
.repeatRequest(delay: 4)
.observeOn(MainScheduler.instance)
.subscribe( onNext: { [weak self] orders in
self?.orders = orders
self?.tableView.reloadData()
})
.disposed(by: disposeBag)
Run Code Online (Sandbox Code Playgroud)
这将获取所有shopId状态为给定的订单.active。每次更新时,都会替换本地orders对象并重新加载 tableView。
这会重新加载整个 tableView,这是我们想要避免的。我现在正在研究 RxDataSources,但无法真正弄清楚实现此功能的方法是什么。
一个Order对象有另一个属性currentStatus,它可以是 3 个不同的值。我们拥有的是一个包含 3 个不同部分的 tableView,每个部分显示currentStatus.
这应该如何在 RxDataSources 中实现?理想的情况是将其绑定到我之前展示的服务 ( OrderRxService.....subscribe()..)。
我现在要设置的 RxDataSources 类型是:
extension Order: IdentifiableType, Equatable {
public typealias Identity = String
public var identity: String {
return String(id)
}
public static func …Run Code Online (Sandbox Code Playgroud) 我正在尝试为 iPhone X 屏幕优化应用程序。目前,它在大多数屏幕上显示黑条或白条。作为示例,我将使用PaymentMethodsView.
这PaymentMethodsView是一个UIView包含 1 或 2 个水平按钮的自定义StackView,superView 具有灰色背景。这StackView当前被限制为 16px 到超级视图(所有 4 个边)。目前它在 iPhone X 上看起来是这样的(在普通 iPhone 上,视图只是在屏幕底部:
我想在这里实现的是,灰色区域延伸到屏幕底部,而黄色区域现在位于整个视图的底部。(所以低 16px)
我可以通过使得到这个工作,Use Safe Area Layout Guide这个ViewController,制约了PaymentMethodsView中到的viewController0 to safe area在侧面,并0 to superview在底部。然后在它PaymentMethodsView本身中,我将所有StackView的约束更改为safe area而不是superview,并将底部约束更改为 0 而不是 16。这很好用,除了在普通 iPhone 上,底部 16px(在 StackView 下)消失并放置黄色按钮到屏幕底部。
我将如何解决这个问题?
bottom safe area