小编Thi*_*ris的帖子

Phonegap的"onBodyLoad()/ onDeviceReady()"函数与Jquery的"$(document).ready()"之间的关系

我在Android中使用PhoneGap + jQuery Mobile,我对Phonegap的"onBodyLoad()/ onDeviceReady()"函数和Jquery的"$(document).ready()"感到困惑.

在PhoneGap文档中:

PhoneGap包含两个代码库:本机和JavaScript.在加载本机代码时,会显示自定义加载图像.但是,只有在DOM加载后才会加载JavaScript.这意味着您的Web应用程序可能会在加载之前调用PhoneGap JavaScript函数.

一旦PhoneGap完全加载,PhoneGap deviceready事件就会触发.设备触发后,您可以安全地拨打PhoneGap功能.

通常,一旦HTML文档的DOM加载,您将需要使用document.addEventListener附加事件侦听器.

在jQuery doc中:

虽然JavaScript提供了在呈现页面时执行代码的加载事件,但在完全接收到所有资产(如图像)之前,不会触发此事件.在大多数情况下,只要完全构造DOM层次结构,就可以运行脚本.传递给.ready()的处理程序保证在DOM准备好后执行,因此这通常是附加所有其他事件处理程序并运行其他jQuery代码的最佳位置.使用依赖于CSS样式属性值的脚本时,在引用脚本之前引用外部样式表或嵌入样式元素很重要.

如果代码依赖于加载的资源(例如,如果需要图像的维度),则应将代码放在load事件的处理程序中.

我的实验表明,ready()总是早于onDeviceReady(),如何解释这个?我应该如何使用它们?我应该在onDeviceReady()中放入ready()以使每个调用都安全吗?

先感谢您.

问候,克里斯

mobile jquery android cordova

26
推荐指数
1
解决办法
9590
查看次数

UIScrollView:setContentOffset:animated和scrollRectToVisible:animated之间的区别

我已阅读适用于iOS的Apple Scroll View编程指南,但仍对以下部分感到困惑:

滚动到特定偏移

滚动到特定的左上角位置(contentOffset属性)可以通过两种方式完成.setContentOffset:animated:方法将内容滚动到指定的内容偏移量.如果动画参数为YES,则滚动将以恒定速率从当前位置动画到指定位置.如果动画参数为NO,则立即滚动并且不进行动画.在这两种情况下,委托都会发送一个scrollViewDidScroll:消息.如果禁用动画,或者通过直接设置contentOffset属性设置内容偏移量,则委托会收到单个scrollViewDidScroll:消息.如果启用了动画,则委托会在动画正在进行时收到一系列scrollViewDidScroll:消息.动画完成后,委托会收到scrollViewDidEndScrollingAnimation:消息.

使矩形可见

也可以滚动矩形区域以使其可见.当应用程序需要将当前在可见区域之外的控件显示到可见视图中时,这尤其有用.scrollRectToVisible:animated:方法滚动指定的矩形,使其在滚动视图中可见.如果动画参数为YES,则矩形以恒定的速度滚动到视图中.与setContentOffset:animated:一样,如果禁用动画,则会向委托发送单个scrollViewDidScroll:消息.如果启用了动画,则会在动画进行过程中向委托发送一系列scrollViewDidScroll:消息.在scrollRectToVisible的情况下:animated:滚动视图的跟踪和拖动属性也是NO.

如果为scrollRectToVisible:animated:启用了动画,则委托接收scrollViewDidEndScrollingAnimation:消息,提供滚动视图已到达指定位置并且动画完成的通知.

我认为setContentOffset:animated和scrollRectToVisible之间非常相似:动画,有人可以提供一些关于它们的提示吗?

和scrollRectToVisible:animated:类似于scrollViewDidEndDecelerating:animated:too.

uiscrollview ios

12
推荐指数
1
解决办法
7409
查看次数

当iPad应用程序进入后台时,关闭popover

嗨,我正在开发一个iPad应用程序,并且要求在应用程序进入后台时关闭所有弹出窗口(如果有的话).

我在网上做了一些研究,并没有找到一个简单的方法来做到这一点.我想在这里分享一些我的想法,看看是否有更好的方法来做到这一点.

1,在委托中取消 didEnterBakcground中的popovers.似乎不实用,因为我们必须添加所有popovers引用.

2,在当前窗口中递归遍历所有视图,以通过(class = _UIPopoverView)查找弹出视图.这看起来有点hacky和危险.

3,拥有弹出窗口的每个对象中设置UIApplicationDidEnterBackgroundNotificationgroundNotification并将其关闭.这似乎是合理的,但如果你的应用程序中有数百个弹出窗口,那真的很麻烦.

4,如何添加类别方法说 - (void)dismissWhenAppWillEnterBackground; 并注册通知.

或者有更容易的方法吗?

popover ipad uipopovercontroller ios

6
推荐指数
1
解决办法
1456
查看次数

AlertDialog是否支持WebView?

我正在尝试使用Webview实现AlertDialog.

public OnClickListener imageButtonViewOnClickListener = new OnClickListener() {
public void onClick(View v) {

    LayoutInflater inflater = LayoutInflater.from(MyActivity.this);

    // error here
    View alertDialogView = inflater.inflate(R.layout.alert_dialog_layout, null);

    WebView myWebView = (WebView) findViewById(R.id.DialogWebView);
    myWebView.loadData(webContent, "text/html", "utf-8");
    AlertDialog.Builder builder = new AlertDialog.Builder(MyActivity.this);
    builder.setView(alertDialogView);

    builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
        }
    }).show();
}
Run Code Online (Sandbox Code Playgroud)

};

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:orientation="vertical">
<webView android:id="@+id/DialogWebView" android:layout_height="wrap_content"
    android:layout_width="fill_parent" android:layout_marginLeft="20dip"
    android:layout_marginRight="20dip" android:textAppearance="?android:attr/textAppearanceMedium" />
Run Code Online (Sandbox Code Playgroud)

但是,我在"查看alertDialogView = inflater.inflate(R.layout.dialog_layout,null)"时收到错误;" 说"android.view.InflateException:二进制XML文件行#6:错误膨胀类webView"和"11-26 17:15:47.934:错误/ AndroidRuntime(4699):引起:java.lang.ClassNotFoundException:android.view装载机中的.webView dalvik.system.PathClassLoader@43457e60"

有人知道发生了什么事吗?AlertDialog是否支持WebView?提前感谢您的任何建议.

干杯,克里斯

android webview android-alertdialog

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

在编程语言中使用boolean作为性别的惯例是什么?真男性假女?

[编辑]对不起我的意思是对女人没有冒犯,这个问题困扰了我好几次.我只想知道传统的或通用的方式(在数据库和其他编程语言中).谢谢.

是否有使用布尔值显示性别的传统方法?

它们在所有语言中都是一样的吗?JAVA,C,Objc,数据库?

我想我们应该对男性使用true(1)而对女性使用false(0)?

谢谢.

convention boolean

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

如何将app delegate添加回mainwindow.xib

简答:

从对象库中拖动一个Object并将其类设置为委托.

细节见下面的答案.

我不小心从mainwindow.xib中删除了app delegate.我到处查看,但仍无法找到将其添加回去的方法.我试图在网上找到它但仍然没有结果.任何人都可以帮我修复它吗?谢谢.

我的项目

我的项目

其他的项目

其他的项目,有appdelegate

的main.m

#import <UIKit/UIKit.h>

int main(int argc, char *argv[])
{
    @autoreleasepool {
        return UIApplicationMain(argc, argv, nil, nil);
    }
}
Run Code Online (Sandbox Code Playgroud)

delegates xib nib ios

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