iOS Xcode为Subview设置的约束条件在iOS 8 & Xcode 6中出现异常

  • 问题重述:

为collectionview设计了一个hearderView,而这个headerView是一个自定义的myview,在这个自定义中有一个subview,它的约束条件是设置到superview的。在Xcode 6和iOS 8的组合下运行,上述的subview完全没有按照原来设计的约束,而是以从(0,0)为原点自己重置layout。但在iOS7 + Xcode 5/6 和iOS8 + Xcode 5 的组合中是正常的。

  • 解决方案:

在初始化myview的时候,添加:

self.myView.translatesAutoresizingMaskIntoConstraints = YES;
- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        NSLog(@"initWithFrame");
        [[NSBundle mainBundle] loadNibNamed:@"myView" owner:self options:nil];
        self.myView.translatesAutoresizingMaskIntoConstraints = YES;
        [self addSubview:self.myView];
    }
    return self;
}
  • 问题分析:

translatesAutoresizingMaskIntoConstraints:

Returns a Boolean value that indicates whether the view’s autoresizing mask is translated into constraints for the constraint-based layout system.

Declaration

SWIFT

func translatesAutoresizingMaskIntoConstraints()
-> Bool

OBJECTIVE-C

- (BOOL)translatesAutoresizingMaskIntoConstraints

Return Value

YES if
the view’s autoresizing mask is translated into constraints for the constraint-based layout system, NOotherwise.

Discussion

If this is value is YES,
the view’s superview looks at the view’s autoresizing mask, produces constraints that implement it, and adds those constraints to itself (the superview).

Import Statement

import
UIKit

Availability

Available in iOS 6.0 and later.

  • 参考链接:

https://developer.apple.com/library/IOs/documentation/UIKit/Reference/UIView_Class/index.html#//apple_ref/occ/instm/UIView/translatesAutoresizingMaskIntoConstraints

http://stackoverflow.com/questions/25817609/constraints-for-subview-not-working-in-ios-8-xcode-6-6a313-works-ios-7

时间: 2024-11-05 12:25:28

iOS Xcode为Subview设置的约束条件在iOS 8 & Xcode 6中出现异常的相关文章

iOS XIB使用UIScrollView 设置 contentsize 无效

一问题描述 今天做个需求,后台获取多个对象信息,如果某个对象为nil,则不会显示,当有多个返回对象的适合,界面不能容纳所有的元素,废话这么多,总之是在xib 中使用 UIScrollView,但是问题是.m文件中设置contentsize 无效. 二 问题分析     xib 中勾选了autolayout选项,在autolayout下,iOS计算UIScrollView的contentsize的机制是略有不同.在autolayout中,会在viewDidAppear之前根据subview的con

iOS之关于Architectures设置及Build Active Architecture Only编译设置

一,前言 最近在帮朋友解决极光报错的提示:"file was built for archive which is not the architecture being linked (i386)"时,涉及到Build Active Architecture Only设置问题.所以又重新温习了一下,以便查询. 二,关于Architectures 浅谈  iOS项目打包,或者只是在项目里面调用第三方静态库抑或是自己新建一个静态库,就要无可避免的和Architectures打交道. * 什

iOS开发UI篇—推荐两个好用的Xcode插件(提供下载链接)

iOS开发UI篇—推荐两个好用的Xcode插件(提供下载链接) 这里推荐两款好用的Xcode插件,并提供下载链接. 一.插件和使用如下: 1.两款插件 对项目中图片提供自动提示功能的插件:KSImageNamed-Xcode-master 提供快速创建自动注释:VVDocumenter-Xcode-master 2.使用介绍: (1)KSImageNamed-Xcode-master的使用 安装该插件后,会对文件中图片进行智能提示. (2)VVDocumenter-Xcode-master能提供

使用Xcode 7 beta免费真机调试iOS应用程序

http://ju.outofmemory.cn/entry/182050 使用Xcode 7 beta免费真机调试iOS应用程序 K-Res的Blog 2015-06-09 21942 阅读 xcode 今天凌晨的WWDC15虽然没有熬夜守候吧,但也还是早起第一时间翻看了twitter的相关标签,发现比较实惠的一点就是新的Xcode 7可以在不加入每年99刀的Apple Developer Program的情况下真机调试应用了(不知道是不是迫于Android那“粗犷”的真机调试方式的压力,呵呵

Xcode 7如何 免费 真机调试iOS应用

运行Xcode后,点击菜单中的Preferences…进入Accounts标签,这里选择添加Apple ID: 在弹出的对话框中登入你的Apple ID,没有的话去注册一个就是了,登录成功后会看到下面这样的信息: 可以看到下面显示了iOS和Mac的Free标记了,以前版本的Xcode如果你登陆的账号没有付费的话,这里会显示没有加入Apple Developer Program,就什么都做不了了. 下面要做的是是生成开发证书,选中有Free的那项,然后点击View Details,在弹出的对话框:

iOS开发之iOS7设置状态栏字体颜色

应用中登陆界面颜色较浅,状态栏字体颜色为黑色,跳转到主界面之后,界面颜色较深,状态栏颜色随之变成白色.但是再重新返回登陆界面后,状态栏字体颜色并没有改成黑色,特别别扭. plist文件里将View controller-based status bar appearance改为NO然后在view controller里边加上下边一句就可以了,这样状态栏是黑字 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyle

Xcode 7如何免费真机调试iOS应用

Xcode 7如何免费真机调试iOS应用的简单方式: 运行Xcode后,点击菜单中的Preferences…进入Accounts标签,这里选择添加Apple ID:在弹出的对话框中登入你的Apple ID,没有的话去注册一个就是了,登录成功后会看到下面这样的信息:可以看到下面显示了iOS和Mac的Free标记了,以前版本的Xcode如果你登陆的账号没有付费的话,这里会显示没有加入Apple Developer Program,就什么都做不了了.下面要做的是是生成开发证书,选中有Free的那项,然

iOS的UIFont如何设置字体

想必大家都用过UILabel,但是怎么来设计label上的字体呢?有一个方法: label.font = [UIFont fontWithName:@"Avenir-Light" size:28]; 但是fontWithName后面的参数从哪里来得呢?我们不妨来打印出familyNames NSArray *familyNames = [UIFont familyNames]; for( NSString *familyName in familyNames ){ NSLog(@&qu

ios开发UI基础—安装苹果官方文档和Xcode模拟器

ios开发UI基础-安装苹果官方文档和Xcode模拟器 提示:准备资料 (1)com.apple.adc.documentation.AppleiOS7.1.iOSLibrary.docset.zip (2)iPhoneSimulator6.1.sdk.zip 一.安装苹果官方文档 1.安装路径 文档有两个安装路径: (1)~/资源库/Developer/Xcode/UserData/ (2)/Applications/Xcode.app/Contents/Developer/Documenta