小编coh*_*air的帖子

Phonegap Android键盘覆盖输入元素滚动被禁用

我尝试了很多不同的解决方案,没有什么是我想要的.我想要的是键盘显示在内容之上(保持内容相同的大小),同时能够滚动到键盘覆盖的输入元素.

我试过的每一个解决方案都会给我一个或另一个,但不是两个.

我试过的解决方案:

  • 解决方案在这里.将android:windowSoftInputMode ="adjustPan"和android:configChanges ="orientation | keyboardHidden"添加到AndroidManifest.xml中的主要活动中.
  • 上面的解决方案使用"adjustResize"而不是"adjustPan".
  • 解决方案在这里.添加到我的confix.xml.

使用adjustPan使我的元素保持相同的大小,但禁用滚动.使用adjustResize调整整个页面的大小,使一切变得微小.保持默认设置,仅调整包含输入元素的包装器的大小,但启用滚动.

我设法找到完全相同的问题(解答)这里.他们通过将应用程序的大小调整为150%并滚动到覆盖的输入元素来"修复"它,但他们说它并不理想.

任何帮助表示赞赏.

android cordova

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

iOS Firebase崩溃报告 - 运行构建脚本时出错

运行脚本上传符号文件时(每次尝试构建项目时)都会出现以下错误:

upload-sym-util.bash:351:错误:symbolFileUploadLocation:API密钥和身份验证凭据来自不同的项目.

这是我的构建脚本:

if [ "$CONFIGURATION" == "Debug" ]; then
    GOOGLE_APP_ID=<app-id>
    "${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey-Dev.json
else
    GOOGLE_APP_ID=<app-id>
    "${PODS_ROOT}"/FirebaseCrash/upload-sym "${SRCROOT}"/<app>/Firebase/CrashReportingKey.json
fi
Run Code Online (Sandbox Code Playgroud)

我做过/检查的事情:

  1. GOOGLE_APP_IDCrashReportingKey*.json与同一项目关联.
  2. 我的GoogleService-Info*.plist文件有该API_KEY字段.
  3. 选中"仅在安装时运行脚本"框,允许我运行应用程序,但实际上并不在开发环境中运行脚本.因此崩溃会发送到Firebase,但它们不是象征性的.

我对任何想法持开放态度.谢谢!

ios firebase swift firebase-crash-reporting

8
推荐指数
2
解决办法
1955
查看次数

AngularJS $ cookies.get()始终返回undefined

我正在使用AngularJS 1.4.0和该$cookies服务.以下代码将始终打印出一个空对象:

(function() {
    var app = angular.module("user-cookies-service", []);

    app.service('UserCookiesService', ["$cookies", function($cookies) {
        $cookies.put("Hello", "World");
        console.log($cookies.getAll());
    }]);
})();
Run Code Online (Sandbox Code Playgroud)

我试过了:

  • 使用AngulerJS 1.3.15并且$cookieStore在刷新浏览器时cookie不会持久存在(但它至少创建了cookie).
  • 添加到期日.
  • 确保在我的浏览器(Chrome)中启用了Cookie.
  • 尝试普通的旧JS,仍然无法正常工作.

我无法在任何地方找到类似的问题.

谢谢.

javascript cookies angularjs

6
推荐指数
2
解决办法
7178
查看次数

AngularJS表单验证始终如一

loginForm.$valid即使没有填写必填字段,也始终返回true.我无法在任何地方找到类似的问题.

<form name="loginForm" 
      class="form-login" 
      ng-submit="loginForm.$valid && loginCtrl.login(navCtrl)" 
      novalidate>

    <div class="form-group">
        <label for="email">Username:</label>
        <input type="email" class="form-control" id="username" placeholder="Enter username" required>
    </div>

    <div class="form-group">
        <label for="pwd">Password:</label>
        <input type="password" class="form-control" id="pwd" placeholder="Enter password" required>
    </div>

    <div class="form-group text-right">
        <a href="#">Forgot password?</a>
    </div>
    <div>Login form is {{loginForm.$valid}}</div>
    <button type="submit" class="btn btn-default">Login</button>
</form>
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

javascript twitter-bootstrap angularjs

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

从iOS“安全区域”中排除导航栏

在我的 iOS 应用程序中,我在导航栏下方呈现了视图。这是因为导航栏是隐藏的,直到用户点击屏幕。

下面的屏幕截图说明了我的问题。

“X”按钮呈现在 iPhone X 的缺口下方,几乎看不到。这是我将按钮限制topAnchor为其superview!.topAnchor.

请注意,这适用于除 iPhone X 之外的所有设备。

在此处输入图片说明

此屏幕截图中的“X”按钮锚定在其上superview!.safeAreaLayoutGuide.topAnchor并呈现在导航栏下方。考虑到 Apple 的文档,这是有道理的safeAreaLayoutGuide

“本指南反映了导航栏、标签栏、工具栏和其他祖先视图未涵盖的视图部分。”

在此处输入图片说明

但是,我希望“X”按钮呈现在 iPhone X 的缺口下方和导航栏下方。这是隐藏导航栏时的样子:

在此处输入图片说明

“X”按钮应呈现在缺口正下方。

所以我的问题是:

有没有办法从视图中排除导航栏safeAreaLayoutGuide?如果没有,除了手动偏移 iPhone X 上的按钮之外,我还有什么选择。

请注意,我正在以编程方式进行所有操作。我不再使用故事板。

谢谢!

ios autolayout ios-autolayout iphone-x

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

URLForUbiquityContainerIdentifier始终返回nil

模拟器在iOS8.1中,我正在使用Xcode 6.1.1.

我尝试过几个不同来源的解决方案:

似乎没有任何工作.我的设置:

权利和能力: 在此输入图像描述

在此输入图像描述

码:

dispatch_async(dispatch_get_global_queue (DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {
    NSURL *myContainer = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];

    // unarchive journal object from iCloud
    if (myContainer != nil) {
        NSString *filePath = [NSString stringWithFormat:@"%@/%@", myContainer.path, ARCHIVE_FILE_NAME];
        self.journal = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];

        // initialize journal from local storage if there's no iCloud archive
        if (self.journal == nil)
            [self initJournalFromLocalStorage];
        else
            [self.journal validateUserDefines];

        self.journal.cloudURL = myContainer;

        dispatch_async (dispatch_get_main_queue (), ^(void) {
            // On the main thread, update UI and state …
Run Code Online (Sandbox Code Playgroud)

xcode objective-c ios icloud

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

Swift 3 - 支持"刷卡删除"的iOS 10 UITableView

关于如何为UITableView启用滑动删除有很多问题,他们都说同样的事情:

覆盖tableView(_:commit editingStyle:forRowAt indexPath:).

除此之外,我已经完成了这项工作,而且我仍然没有刷卡删除功能.我试过的事情:

  1. tableView.allowsMultipleSelectionDuringEditing在代码和IB中设置为true和false.
  2. 覆盖tableView(_:canEditRowAt indexPath:)并返回true.
  3. 覆盖tableView(_:editingStyleForRowAt indexPath:)并返回.delete.
  4. 以及上面的每一个组合.

我正在使用FirebaseUI自定义UITableViewCell来填充表格.这是我的表视图控制器:

import UIKit
import FirebaseDatabaseUI

class ScheduleViewController: UITableViewController {

    private let TAG = String(describing: ScheduleViewController.self)

    private var dataSource: FUITableViewDataSource!

    override func viewDidLoad() {
        super.viewDidLoad()

        dataSource = self.tableView.bind(to: DataManager.instance.habitsQuery(),
                                         populateCell: populateCell())

        self.tableView.dataSource = dataSource

        // Automatically resize table cells to fit its content.
        self.tableView.estimatedRowHeight = ScheduleTableViewCell.HEIGHT
        self.tableView.rowHeight = UITableViewAutomaticDimension

        // I have also
        self.tableView.allowsMultipleSelectionDuringEditing = …
Run Code Online (Sandbox Code Playgroud)

uitableview ios firebase swift firebaseui

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

iOS - 创建多个延时实时相机预览视图

我已经进行了大量研究,但由于多种原因尚未找到可行的解决方案,我将在下面概述。


问题

在我的 iOS 应用程序中,我需要三个视图来无限期地显示设备相机的延迟实时预览。

例如,视图1将显示相机视图,延迟5秒,视图2将显示相同的相机视图,延迟20秒,视图3将显示相同的相机视图,延迟30秒。

这将用于记录您自己执行某种活动,例如锻炼练习,然后在几秒钟后观察自己,以完善您的特定练习形式。

尝试过的解决方案

我尝试并研究了几种不同的解决方案,但都有问题。

1. 使用AVFoundationAVCaptureMovieFileOutput

  • 使用AVCaptureSessionAVCaptureMovieFileOutput将短片录制到设备存储中。需要短剪辑,因为您无法播放 URL 中的视频,并同时写入同一 URL。
  • 有 3AVPlayerAVPlayerLayer实例,全部按所需的时间延迟播放录制的短片。
  • 问题:
    1. 使用 切换剪辑时AVPlayer.replaceCurrentItem(_:),剪辑之间存在非常明显的延迟。这需要一个平稳的过渡。
    2. 虽然很旧,但这里的评论建议AVPlayer由于设备限制不要创建多个实例。我还没有找到证实或否认这一说法的信息。E:根据 Jake G 的评论 -AVPlayer对于 iPhone 5 及更新版本来说 10 次就可以了。

2. 使用AVFoundationAVCaptureVideoDataOutput

  • 使用AVCaptureSessionAVCaptureVideoDataOutput来通过委托方法流式传输和处理摄像机输入的每一帧didOutputSampleBuffer
  • 在 OpenGL 视图上绘制每个帧(例如GLKViewWithBounds)。AVPlayer这解决了来自 的多个实例的问题Solution 1.
  • 问题:存储每个帧以便稍后显示需要大量内存(这在 iOS 设备上不可行)或磁盘空间。如果我想以每秒 30 …

camera video-capture video-processing avfoundation ios

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

子类化FUIAuthPickerViewController时"无法加载NIB"

我在网上找到的唯一相关问题是关于GitHub的问题报告:https: //github.com/firebase/FirebaseUI-iOS/issues/128

但是,似乎没有任何解决方案.

使用FirebaseUI,我想子类化,FUIAuthPickerViewController所以我可以稍微自定义它.当我进行子类化和调用时FUIAuth.defaultAuthUI!.authViewController,我得到以下运行时异常:

'NSInternalInconsistencyException',原因:'无法在bundle中加载NIB

我是Swift的新手,所以我很可能不正确地进行子类化FUIAuthPickerViewController,但我在线阅读的所有内容都指向不是这样的情况.

这是我的子类:

import UIKit
import FirebaseAuthUI

class AuthViewController: FUIAuthPickerViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
    }

}
Run Code Online (Sandbox Code Playgroud)

这是我的代表:

public class AuthManager: NSObject, FUIAuthDelegate {
    // TODO: Implement TOS URL
    // TODO: Implement custom strings for multiple languages

    static let instance = AuthManager()
    private override init() {
        super.init()

        self.firebaseUI().delegate = self;
        self.firebaseUI().providers = [FUIGoogleAuth(), FUIFacebookAuth()]
    }

    public func firebaseUI() -> FUIAuth {
        return FUIAuth.defaultAuthUI()!
    }

    public func firebase() …
Run Code Online (Sandbox Code Playgroud)

ios firebase swift firebase-authentication firebaseui

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

Android DialogFragment不是WRAP_CONTENT

点击DialogFragment时我会被显示出来TextView.它DialogFragment有自己的XML布局文件,a ListView,a EditTextButton底部.

问题是,当ListView只有少数几个项目时,DialogFragment仍占据屏幕的大部分(即高度远大于应有的高度).

这是我的意思的截图(黑色是ListView一个项目):

在此输入图像描述

正如你所看到的那样,ListView当我希望Dialog它只是它需要的大小时,就会有大量的空白空间.

这是DialogFragentXML:

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="@dimen/spacing_small"
    tools:context="com.cohenadair.anglerslog.fragments.ManageFragment">

    <LinearLayout
        android:id="@+id/add_item_layout"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true">

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:id="@+id/new_item_edit"
            android:layout_weight="1"
            android:hint="@string/hint_new_item"/>

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/button_add"
            android:id="@+id/add_button"
            android:layout_margin="0dp"/>

    </LinearLayout>

    <ListView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@id/add_item_layout"
        android:id="@+id/content_list_view"
        android:background="@android:color/black">

    </ListView>

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

而且onCreateView:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_manage_primitive, …
Run Code Online (Sandbox Code Playgroud)

android listview android-listview android-dialog android-dialogfragment

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