小编May*_*tBe的帖子

iOS Swift Today Extension:从容器应用程序导入类?

我有一个带有Today小部件的应用程序.我想使用容器应用程序中的模型类TodayViewController.swift.

这样的事情可能吗?

我将文件复制到Today Extension文件夹并尝试导入它.没有骰子.

我无法在文档中或在线找到答案.

谢谢

ios swift ios8-today-widget today-extension

18
推荐指数
1
解决办法
4099
查看次数

MotionLayout:MotionScene OnClick 覆盖 setOnClickListener

我刚开始玩MotionLayout。我定义了一个活动布局MotionLayout,使用它MotionScene来隐藏和显示视图。

MotionScene过渡看起来是这样的:

<Transition
    app:constraintSetStart="@id/collapsed"
    app:constraintSetEnd="@id/expanded">

    <OnClick app:target="@id/nextButton"  />

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

问题是,当我以编程方式向按钮添加 ClickListener 时,什么也没有发生:

nextButton.setOnClickListener {
        //do some stuff
    }
Run Code Online (Sandbox Code Playgroud)

这个监听器被完全忽略,但每次点击都会触发转换(视图展开/折叠)。我已经看到有人扩展 MotionLayout到处理点击事件的地方,但似乎有一种更简单的方法可以为按钮添加另一个点击侦听器。

问题 1:有没有办法在 MotionLayout 转换中将 ClickListener 添加到 OnClick 的目标?

问题 2:有没有办法使转换成为一次性事件? 期望的结果是,如果单击按钮时视图折叠,则视图展开,但如果它已经展开,则它保持展开状态。

最后,我使用的命名空间"http://schemas.android.com/apk/res-auto"和文档明确指出targetmode是的OnClick属性。但是当我使用该项目时将无法编译,mode因为在该命名空间中找不到它。

问题 3:我是否使用了正确的命名空间?

android android-motionlayout

14
推荐指数
2
解决办法
8943
查看次数

UIButtons无法在某些设备上运行

我使用Xcode 6中的wAny hAny布局设置了视图和约束:

在此输入图像描述

当我在iPhone 5s和iPhone 6上运行应用程序时,UI元素都可见,但在5s上answer,back按钮不起作用 - 它们什么都不做.

在iPhone 6上,所有按钮都可以工作.

这是"后退"按钮的代码:

- (IBAction)backFromDivision:(id)sender {
[self dismissViewControllerAnimated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

answer代码是有点长,我将不会发布它,除非必要的.

这是否与约束有关或我是否应该在其他地方寻找答案?

iphone objective-c uibutton ios

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

使用Moshi / Retrofit2访问深度嵌套的JSON数组

我需要的只是“照片”阵列。我的JSON看起来像这样:

 {
  "photos": {
    "page": 1,
    "pages": "1000",
    "perpage": 1,
    "total": "1000",
    "photo": [
      {
        "id": "44049202615",
        "owner": "159796861@N07",
        "secret": "cb8f476a4d",
        "server": "1958",
        "farm": 2,
        "title": "Murugan",
        "ispublic": 1,
        "isfriend": 0,
        "isfamily": 0
      }
    ]
  },
  "stat": "ok"
}
Run Code Online (Sandbox Code Playgroud)

我是Moshi / Retrofit的新手。我看到了这一点,但我还不太了解如何进行这项工作。我以为我可以快速又肮脏地做一些事情来获取所需的值,这样我就可以继续构建我的应用程序了(稍后我将返回进行适当的实现)。

我快速又肮脏的想法是这样的:

data class GalleryItem(@Json(name = "title") val caption: String,
                       @Json(name = "id") val id: String,
                       @Json(name = "url_s") val url: String?)

data class Photo(@Json(name = "photo") val galleryItems: List<GalleryItem>)

data class Photos(@Json(name = "photos") val photo: …
Run Code Online (Sandbox Code Playgroud)

android kotlin moshi retrofit2

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

淘汰赛无法处理绑定 - 未定义

我继承了一个使用 Knockout 的项目^3.1.0。我需要构建一些功能。我从来没有使用过淘汰赛。

每个视图都有一个视图模型,该视图模型是通过主视图模型调用的init(model)

这些属性在 init 开始时初始化并在视图中使用,没有任何问题。例如:

model.entities = ko.observableArray([]);
model.hasEntities = ko.observable(false);
Run Code Online (Sandbox Code Playgroud)

如此初始化并在无容器绑定中使用时不会出现错误,如下所示:

<!-- ko if: hasEntities -->
<!-- ko foreach: { data: entities, as: 'entity' } -->
Run Code Online (Sandbox Code Playgroud)

因此,我以相同的位置/方式初始化我的新属性:

  model.numberOfColumns = ko.observable(2);

  model.columnGenerator = ko.computed(function() {
    return ko.utils.range(0, model.numberOfColumns());
  }, model);
Run Code Online (Sandbox Code Playgroud)

并这样使用它:

<!-- ko foreach: { data: columnGenerator, as: 'index' } -->
Run Code Online (Sandbox Code Playgroud)

并得到这个错误:

Knockout.js:72 Uncaught ReferenceError: 无法处理绑定“foreach: function (){return { data:columnGenerator,as:'index'} }”消息:columnGenerator 未定义

我搜索了与此错误相关的许多问题,但没有一个有帮助。

谢谢!

knockout.js

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

WatchKit Long Look Notification未显示

我设置了一个动态的长外观界面.我在带有iBeacon的手表上运行应用程序.

当信标进入范围时,我会在手表上收到静态通知,但是当我继续看时,长时间看不会出现.

我在第一行内部didReceiveLocalNotification和第一行设置了断点didReceiveRemoteNotification.它不会破坏,因为它永远不会被调用.

关于从哪里开始寻找原因的任何想法?

ios watchkit

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

只有类方法和委托的Swift类?

我想要一个包含所有类方法的类.我想使用委托,所以我的视图控制器(符合协议)可以调用AlertFactory.passwordResetSucess()和显示警报.

  1. 有没有办法让这个工作?一种使用这个类的委托的方法?

  2. 这是不好的做法吗?形式不好?为什么?

  3. 实现这一目标的好方法是什么?在几个视图中将使用其他类方法.

谢谢!

    protocol AlertFactoryDelegate 
    {
        func showAlert(alert: UIAlertController)
    }

    class AlertFactory: NSObject {

     let delegate: AlertFactoryDelegate!

     class func passwordResetSuccess() 
     {
         var alert = UIAlertController(title: "Success!", message: "Yay", preferredStyle: UIAlertControllerStyle.Alert)
         alert.addAction(UIAlertAction(title: "Continue", style: UIAlertActionStyle.Default, handler: nil))
         delegate.showAlert(alert)
     }
    }
Run Code Online (Sandbox Code Playgroud)

ios swift

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

从自定义视图中的按钮中关闭AlertDialog

我有一个带有函数的对话框的util类:

public static void buildCustomDialog(Context contextRef, View dialogContentView)
{
    AlertDialog.Builder builder = new AlertDialog.Builder(contextRef);

    builder.setView(dialogContentView);

    builder.setNegativeButton(contextRef.getString(R.string.std_cancel), null);

    AlertDialog dialog = builder.create();

    dialog.show();

}
Run Code Online (Sandbox Code Playgroud)

我传递的视图有两个带clickListeners的按钮.一切都很好,除了当用户点击其中一个自定义按钮时我无法关闭对话框.所以他们导航到另一个页面,回击并且对话框仍在那里.

如何在对话框创建之前在我创建的自定义clickListeners中获取对话框的引用?

我尝试了所有可能的选择.我最近的尝试是使用自定义接口创建自定义DialogFragment,但即使这样,在AlertDialog构建器创建对话框之前,也会创建视图(以及按钮及其侦听器).

我觉得这应该是超级简单的,我错过了一些东西......

android android-alertdialog

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

正则表达式匹配文件中的最后一个换行符

在我学习 flex 的过程中,我有一个扫描仪回声输入添加行号。

在每一行之后,我显示一个计数器并增加它。

问题是在显示的末尾总是有一个单独的行号。

我需要一个正则表达式,它将忽略除最后一个之外的所有换行符。

我试过[\n/<<EOF>>]无济于事。

有什么想法吗?

regex flex-lexer

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

找不到-lAFNetworking的库

我在Bitbucket上有一个项目,可以在一台机器上构建.我在另一台机器上克隆它,做了一个pod install,一切安装得很好.我打开.xcworkspace,由于这篇文章标题中的错误,它不会构建.

当项目从原始机器中删除并克隆到那里(安装了pod等)时,它就可以正常运行.

我不知道其他机器有什么不同,或者我可以在这里提供什么信息来提出这个问题.

这是我的podfile的内容:

# Uncomment this line to define a global platform for your project
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, "7.0"

link_with 'Extender', 'DefinitiveExtender'

pod 'zipzap', '~> 7.0'
pod 'SQKPieProgressView', '~> 1.0'
pod 'AFNetworking', '~> 2.3'
pod 'MBProgressHUD', '~> 0.9'
pod 'Reachability', '~> 3.1'
pod 'HockeySDK', '~> 3.5.7'
pod 'Parse', '~> 1.4'
Run Code Online (Sandbox Code Playgroud)

xcode afnetworking cocoapods

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