小编Sim*_*ain的帖子

AutoLayout可保持视图大小成比例

我正在努力实现以下目标:

  • 我的xib中有2个视图需要保持20个像素的边缘(两侧和顶部)
  • 需要调整大小的2个视图的大小不同
  • 它们必须相隔20个像素
  • 它们的宽度需要相对于父视图的宽度保持不变

我阅读了一个关于这样做的教程并且它可以工作,但问题是它需要两个视图具有相同的宽度和引脚Widths equally,这是我不想要的.

这是我试过的:

  • 将前导空间约束添加到左视图为20像素
  • 将顶部空间约束添加到左视图为20像素
  • 将顶部空间约束添加到右视图为20像素
  • 将尾部空间约束添加到右视图为20像素
  • 将水平间距约束添加到两个视图为20像素

我遇到的问题是左视图没有调整大小,右视图填充空间以保持20像素的水平空间.

有没有办法让两个视图按比例调整它们应该填充的空间?

以下是我的布局和约束的屏幕截图:

xib布局约束定义

谢谢!

编辑

我尝试旋转设备时收到以下警告:

2012-10-11 08:59:00.435 AutolayoutTest[35672:c07] Unable to simultaneously satisfy constraints.
    Probably at least one of the constraints in the following list is one you don't want.
    Try this: (1) look at each constraint and try to figure out which you don't expect;
    (2) find the code that added the unwanted constraint or constraints and fix it. (Note:  
    If you're seeing NSAutoresizingMaskLayoutConstraints …
Run Code Online (Sandbox Code Playgroud)

interface-builder ios autolayout ios6 nslayoutconstraint

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

如何从NSData对象获取JSON对象数组

所以我使用HTTP GET方法返回一个JSON对象数组,这些对象存储在NSData中.该数组如下所示:

[{"created_at":"2013-03-09T04:55:21Z","data_type":"image","id":5354,"latitude":37.785834,"longitude":-122.406417,"name":"tempObject","privacy":"public","radius":1000.0,"updated_at":"2013-03-09T04:55:21Z","user_id":101},{"created_at":"2013-03-10T20:57:08Z","data_type":"image","id":5364,"latitude":37.785834,"longitude":-122.406417,"name":"tempObject","privacy":"public","radius":1000.0,"updated_at":"2013-03-10T20:57:08Z","user_id":101}]
Run Code Online (Sandbox Code Playgroud)

我将如何提取这些JSON对象并从NSData中迭代它们?

json objective-c nsdata ios swift

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

Chrome 22会混淆平板电脑和台式机

我知道很多JavaScript库依赖于"ontouchstart"来检测它是在平板电脑还是桌面上.

这是我正在谈论的代码示例:

    var hasTouch = ("ontouchstart" in window);
Run Code Online (Sandbox Code Playgroud)

目前,我不得不注释掉所有平板电脑检测代码才能正常工作.

检测平板电脑与台式机的最佳方法是什么?

谢谢!

javascript google-chrome

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

安全服务器上的iOS 7企业分发

我有一个企业分发证书,用于部署内部应用程序.我的某些应用程序具有非常敏感的材料,并且为了保护应用程序不被公司中的任何人安装,我在Web服务器上使用受密码保护的目录来托管.IPA文件,而.plist文件位于打开Web服务器.这是我的问题:

在iOS6上,我单击要安装的链接(以itms-services://开头),iOS提示我输入我的凭据然后继续安装应用程序.

在iOS7上,相同的链接工作正常,但出于某种原因,它要求我的凭据TWICE.一旦我的凭证输入两次,应用程序安装就好了.

任何人都知道为什么会这样吗?这个过程有什么不同?

basic-authentication ios enterprise-distribution ios6 ios7

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

Objective-C应用程序中缺少Swift框架中的IBOutlet属性

我有一个我在Swift中编写的框架,它包含一个扩展的类,UIView并且具有一个IBOutlet属性.

从我的Objective-C应用程序可以看到该类,但Interface Builder将看不到IBOutlet.这是代码:

@objc protocol MyFrameworkDelegate {
    // My delegate methods here
    ...
}

@objc class MyFrameworkClass: UIView {

    @objc @IBOutlet var delegate:MyFrameworkDelegate?
    // The rest of my class here
    ...
}
Run Code Online (Sandbox Code Playgroud)

我将我的视图类设置MyFrameworkClass在我的故事板中,但是delegate插座没有显示.

我尝试使用和不使用@objc修饰符,没有运气.当我从Objective-C检查我的类时,该属性出现时没有IBOutlet.

还有其他人遇到过类似的东西吗?

编辑

这是Xcode为Swift生成的代码 - > Objective-C转换:

@protocol MyFrameworkDelegate;

SWIFT_CLASS("_Nc9a0xD6MyFrameworkClass")
@interface MyFrameworkClass : UIView
@property (nonatomic) id <MyFrameworkDelegate> delegate;
...
Run Code Online (Sandbox Code Playgroud)

此外,这是我尝试运行应用程序时收到的错误消息:

2014-06-22 21:41:59.095 MyApp Test[75211:17812266] Unknown class MyFrameworkClass in Interface Builder file.
2014-06-22 21:41:59.099 MyApp …
Run Code Online (Sandbox Code Playgroud)

frameworks objective-c ios swift

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

使用 REST Web 服务。API 密钥认证

我一直在努力解决一些小问题。我想连接到 REST Web 服务,并且我拥有要使用的该 Web 服务的 API 密钥。我已经在 Google REST 控制台中尝试过该服务,它运行良好。

但是当我尝试为其构建 ac# .net 项目时,我不知道如何设置用于身份验证的 api 密钥。我从其他站点获取了此代码:

string url = "http://Demo.company.com/Data/Values/1029/CarPart/id/"
HttpWebRequest GETRequest = (HttpWebRequest)WebRequest.Create(url);
GETRequest.Method = "GET";

Console.WriteLine("Sending GET Request");
HttpWebResponse GETResponse = (HttpWebResponse)GETRequest.GetResponse();
Stream GETResponseStream = GETResponse.GetResponseStream();
StreamReader sr = new StreamReader(GETResponseStream);

Console.WriteLine("Response from Server");
Console.WriteLine(sr.ReadToEnd());
Run Code Online (Sandbox Code Playgroud)

如何使用我的 Api 密钥验证此服务:asdf1234。我需要将它添加到我的标题中,但如何添加?你能告诉我一些代码示例吗?

干杯雷神

c# rest web-services

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