小编ddb*_*ddb的帖子

检查互联网连接(iOS 10)

对于iOS 9,我使用Reachability公共类来检查设备是否连接到互联网.我将Swift 2代码转换为Swift 3,而Reachability不再适用.有人能告诉我如何检查iOS 10上的互联网连接吗?谢谢!这是代码片段:

open class Reachability {
    class func isConnectedToNetwork() -> Bool {
        var zeroAddress = sockaddr_in()
        zeroAddress.sin_len = UInt8(MemoryLayout.size(ofValue: zeroAddress))
        zeroAddress.sin_family = sa_family_t(AF_INET)
        let defaultRouteReachability = withUnsafePointer(to: &zeroAddress) {
            SCNetworkReachabilityCreateWithAddress(nil, UnsafePointer($0))
        }
        var flags = SCNetworkReachabilityFlags()
        if !SCNetworkReachabilityGetFlags(defaultRouteReachability!, &flags) {
            return false
        }
        let isReachable = (flags.rawValue & UInt32(kSCNetworkFlagsReachable)) != 0
        let needsConnection = (flags.rawValue & UInt32(kSCNetworkFlagsConnectionRequired)) != 0
        return (isReachable && !needsConnection)
    }
}
Run Code Online (Sandbox Code Playgroud)

internet-connection swift3 ios10

49
推荐指数
4
解决办法
5万
查看次数

uiwebview在改变横向方向后没有调整大小

我正在编写一个iPhone应用程序,我在其中UIWebView加载了一个响应式设计的网站.

我遇到的问题是当我将设备旋转到横向时:UIWebView旋转但它保持与纵向模式相同的宽度.

我花了最后5个小时在网上搜索,我找到了一些我用过但没有成功的解决方案......

在我正在使用的html页面中

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
Run Code Online (Sandbox Code Playgroud)

我试过用

<meta name="viewport" content="width=device-width" />
Run Code Online (Sandbox Code Playgroud)

没有改变,在我的代码中我正在实现以下函数来处理旋转,但它什么都没有

- (void) didRotateFromInterfaceOrientation: (UIInterfaceOrientation)fromInterfaceOrientation
{
    [self.myWebView stringByEvaluatingJavaScriptFromString:
    [NSString stringWithFormat:
    @"document.querySelector('meta[name=viewport]').setAttribute('content', 'width=%d;', false); ",
    (int)self.myWebView.frame.size.width]];

    NSLog(@"orientation width: %d", (int)self.myWebView.frame.size.width);

}
Run Code Online (Sandbox Code Playgroud)

我还检查了"缩放页面以适合"复选框,

(使用xcode 5,带有iphone4s和ios7)

landscape objective-c uiwebview orientation xcode5

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

insertSubview下面是swift中的子视图?

我不想只是语法,因为我已经从苹果公司的开发者网站上获得了它,我不知道我做错了什么.我需要的是实际调用此函数.

任何人都可以告诉我如何在swift中写下Obj-C代码?

[self.view insertSubview:VC1.view belowSubview: VC2.view];
Run Code Online (Sandbox Code Playgroud)

ios swift

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

使用 ViewPager 从 Activity 到 Fragment 的通信

我有一个 Activity 和两个 Fragment,其中tablayout包含viewpager. 现在我可以通过实现谷歌的指南回调接口从片段到活动进行通信。但是我怎样才能以另一种方式从 Activity 到 Fragment进行通信呢?如果活动中发生了一些事情(外部事件),我想更新片段。我设法获得了 Frag1 片段

MyFragmentPagerAdapter a = (MyFragmentPagerAdapter) viewPager.getAdapter();
Frag1 frag = (Frag1) a.getItem(0);
Run Code Online (Sandbox Code Playgroud)

但是当我在 frag 上调用公共方法时,我得到一个 IllegalStateException: Fragment not Attached to Activity 可能是因为 getItem(0) 返回 Frag1 的新实例并且尚未附加...有没有人可以为此提供干净的解决方案整个 Viewpager -> Activity 到 Fragment 通信?

一些代码给你:

在活动中:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
        if (viewPager != null) {
            viewPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager()));
        }

        TabLayout tabLayout = (TabLayout) findViewById(R.id.sliding_tabs);
        if (tabLayout != null) {
            tabLayout.setupWithViewPager(viewPager); …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager android-activity android-tablayout

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

无法将Realm与iCloud同步

我正在尝试将我的应用中的Realm与iCloud/CloudKit同步,但没有成功......

这是我的源代码:

-(void)sync
{
    NSURL *baseURL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];

    if (baseURL) //iCloud is active
    {
        NSURL *serverURL = [NSURL URLWithString:@"http://myMacBookNwtworkIP:9080"]; //Realm Object Server is up and running at this URL
        RLMSyncCredential *usernameCredential = [RLMSyncCredential credentialWithUsername:@"myUsername"
                                                                                 password:@"myPassword"
                                                                                  actions:RLMAuthenticationActionsUseExistingAccount];
        RLMSyncCredential *iCloudCredential = [RLMSyncCredential credentialWithICloudToken:@"myiCloudToken"];

        [RLMSyncUser authenticateWithCredential:usernameCredential
                                  authServerURL:serverURL
                                   onCompletion:^(RLMSyncUser *user, NSError *error) {
                                       if (user) { //user recognized in my real object server
                                           // can now open a synchronized RLMRealm with this user
                                           RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
        /* CRASH AT THIS …
Run Code Online (Sandbox Code Playgroud)

objective-c realm ios icloud cloudkit

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

SpriteKit支持多种设备方向

我有一个SpriteKit游戏,我想支持所有方向.现在当我改变方向时,节点不会保持其位置.我使用SKSceneScaleModeResizeFill缩放,因为它将保持正确的精灵大小.

当我开始游戏时,游戏玩家就像这样定位在中间屏幕:

在此输入图像描述

然后当我旋转设备时,位置变为如下:

在此输入图像描述

这是我的视图控制器代码:

- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    // Configure the view.
    SKView * skView = (SKView *)self.view;
    if (!skView.scene) {

        // Create and configure the scene.
        SKScene * scene = [MyScene sceneWithSize:skView.bounds.size];
        scene.scaleMode = SKSceneScaleModeResizeFill;

        // Present the scene.
        [skView presentScene:scene];
    }
}
Run Code Online (Sandbox Code Playgroud)

我的场景代码:

-(id)initWithSize:(CGSize)size {    
    if (self = [super initWithSize:size]) {

        self.backgroundColor = [SKColor colorWithRed:0.15 green:0.15 blue:0.3 alpha:1.0];

        //Add spaceship in the center of the view
        SKSpriteNode *spaceship = [SKSpriteNode spriteNodeWithImageNamed:@"Spaceship.png"];
        spaceship.position = CGPointMake(size.width/2, size.height/2); …
Run Code Online (Sandbox Code Playgroud)

device-orientation ios sprite-kit

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

为什么js不在cordova工作?

我试图在浏览器和模拟器中运行此代码,但js无法正常工作.在模拟器中,侧边栏不会打开,而在浏览器侧栏中始终打开.

如何解决这个问题?

<head>
    <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *">
    <meta name="format-detection" content="telephone=no">
    <meta name="msapplication-tap-highlight" content="no">
    <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
    <link rel="stylesheet" type="text/css" href="css/jquery.mobile-1.4.5.min.css">
    <link rel="stylesheet" type="text/css" href="css/materialize.min.css">
    <link rel="stylesheet" type="text/css" href="css/material-design-iconic-font.min.css">
    <title>App</title>
</head>
<body>
<div data-role="page" id="page1">
  <nav class="blue lighten-1">
    <ul id="slide-out" class="side-nav fixed">
        <li class="bold"><a href="#!" class="waves-effect waves">First Sidebar Link</a></li>
        <li class="bold"><a href="#!" class="waves-effect waves">Second Sidebar Link</a></li>
      </ul>
    <a href="#" data-activates="slide-out" class="button-collapse"><i class="zmdi zmdi-menu"></i></a>
  </nav>
  </div>
  <script type="text/javascript" src="cordova.js"></script> …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery cordova

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

为什么可以在所有地方使用可绘制的滤色镜?

在我的应用程序的一部分我需要我的drawable R.drawable.blah过滤到白色(原来是红色),所以我有这个方法:

public final static Drawable getFilteredDrawable(Context context, @DrawableRes int drawable, @ColorRes int color) {
    Drawable d = ContextCompat.getDrawable(context, drawable);
    d.setColorFilter(ContextCompat.getColor(context, color), PorterDuff.Mode.SRC_IN);
    return d;
}
Run Code Online (Sandbox Code Playgroud)

我这样使用它:

DrawableUtil.getFilteredDrawable(this, R.drawable.blah, android.R.color.white);
Run Code Online (Sandbox Code Playgroud)

问题是现在整个应用程序中的drawable变为白色,甚至没有应用过滤器.我希望drawable在应用程序的这一部分是白色的,但它在我使用它的每个地方,而不是.

我该如何解决?

android android-drawable

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

角度表并不总是有效

我的控制器和手表中有一些功能可以隐藏和显示我页面上的一些元素.

我最初创建了一个对象:

$scope.selectedItems = [];
Run Code Online (Sandbox Code Playgroud)

通过一些功能,我可以选择取消选择项目:

$scope.selectAllItems = function(items){
        for(var i =0; i < items.length; i++){
            items[i].selected = true;
            $scope.selectedItems.push(items[i]._id);
        }
    }

$scope.deselectAllItems = function(items){
    for(var i=0; i<items.length; i++){
        items[i].selected = false;
        $scope.selectedItems = [];
    }
}

$scope.inverseAllItems = function(items){
    $scope.selectedItems = [];
    for(var i=0; i<items.length; i++){
        items[i].selected = items[i].selected ? false : true;
        if(items[i].selected)
            $scope.selectedItems.push(items[i]._id);
    }
}

$scope.selectItem = function(item){
    console.log(item.selected);
    if(item.selected){
        console.log(item._id);
        $scope.selectedItems.push(item._id);
    }else{
        console.log("hier2");
        if($scope.selectedItems.indexOf(item._id))
            $scope.selectedItems.splice($scope.selectedItems.indexOf(item._id),1)
    }
}
Run Code Online (Sandbox Code Playgroud)

还有一块手表 $scope.selectedItems

$scope.$watch("selectedItems", function handleSelectedItemsChange(newValue, oldValue){
    console.log("$scope.selectedItems.length", $scope.selectedItems.length);
    if($scope.selectedItems.length …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

删除html标签并在UILabel Objective c中显示

我在 api 响应中收到类似 Html 标签的  /br> p> 。我想将这些内容显示在UILabel

我所做的是:

NSString *STR_api = [NSString StingWithFormat@:"%@",[API_res valueforkey:@"description"]];
STR_api = [STR_api StringByreplacingaccurancesofString @"&nbsp" with string@""];
Run Code Online (Sandbox Code Playgroud)

我想要的是,在门户网站中它显示为粗体,段落是否可以通过格式化上述响应来显示在 UILabel 中

提前致谢

cocoa-touch objective-c ios

0
推荐指数
1
解决办法
2766
查看次数